Vídeo recomendado
https://youtu.be/diWPPPhW-9E

Erro em preenchimento - campos vazios não preenche

Discussões sobre a integração do Excel com o Banco de Dados Access

Moderador: joseA

George2342
Colaborador
Colaborador
Mensagens: 23
Registrado em: Qua Dez 05, 2018 3:29 pm

Erro em preenchimento - campos vazios não preenche

Mensagem por George2342 »

Boa tarde colegas.

Estou tendo problemas no seguinte código abaixo, pois sempre que alguma célula está em branco dá erro... Parece que a listview só preenche se todas as células, de onde vem os dados, estiverem preenchidas.

Porém, em meu sisteminha nem sempre preencho todos os dados. Gostaria de saber se tem como a Listviw se preencher mesmo se houver linhas em branco, sem nada... Deixando vazia a mesma.

O erro provavelmente ocorre nesse código: " .ListItems(1).ListSubItems.Add 2, , banco(67) " e seguintes... conforme você observem abaixo:


'Código completo abaixo:


Private Sub txtPesquisa_Change()

Dim cx As New ClasseConexao
Dim banco As ADODB.Recordset
Dim sql As String



ProcurarPor = Me.cboPesquisarPor.Text
OrdenarPor = Me.cboOrdenarPor.Text

With Me.lstv
.ListItems.Clear

sql = "SELECT codigo, Nome_de_Cliente, contato, cargo, Endereço, Cidade, regiao, CEP, País, Telefone, Fax, HomePage," & _
"b1, b2, b3, b4, b5, b6, b7, b8, b10, b11, b12, b13, b14, b15, b16, b17, b18, b19, b20, b21, b22, b23, b24, b25, b26," & _
"be1, be2, be3, be4, be5,be6, be7, be8, be9, be10, be11, be12, be13, be14, be15, be16, be17, be18, be19, be20," & _
"bl1, bl3, bl5, bl7, bl9, bl11, bl13, Sistema_de_Peticionamento_Utilizado, bl15, bl16, bl17, bl18, bl19, bl20, bl22, bl23, bl25, bl26, bl27, Situação_dos_Serviços, bl101, bl102, bl103, necessidade_de_diligencia FROM Fornecedores "

If Me.chkPesquisa.Value = True Then
sql = sql & " WHERE " & ProcurarPor & " LIKE '%" & Me.txtPesquisa.Value & "%' ORDER BY " & OrdenarPor & " " & Ordem

ElseIf Me.chkPesquisa.Value = False Then
sql = sql & " WHERE " & ProcurarPor & " LIKE '" & Me.txtPesquisa.Value & "%' ORDER BY " & OrdenarPor & " " & Ordem

End If

Set banco = New ADODB.Recordset
cx.Conectar

banco.Open sql, cx.Conn, adOpenKeyset, adLockOptimistic

'PUXAR DADOS DO ACCESS PARA O LISTVIW - O PROBLEMA SURGE AQUI, PORQUE AS CELULAS SEMPRE TÊM DE ESTAR PREENCHIDAS... NÃO ADMITE CELULA EM BRANCO...

Dim I As Integer
For I = 0 To banco.RecordCount - 1
If Not IsNull(banco(0)) Then
.ListItems.Add 1, , banco(0)

.ListItems(1).ListSubItems.Add 1, , banco(1)
.ListItems(1).ListSubItems.Add 2, , banco(67)
.ListItems(1).ListSubItems.Add 3, , banco(71)
.ListItems(1).ListSubItems.Add 4, , banco(1)
.ListItems(1).ListSubItems.Add 5, , banco(1)


End If
banco.MoveNext
Next I
Set banco = Nothing
cx.Desconectar
End With

Me.StatusBar1.Panels(1).Text = "Total de Itens Localizados: " & Me.lstv.ListItems.Count


End Sub


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Avatar do usuário
PRMPOKER
Consultor
Consultor
Mensagens: 206
Registrado em: Ter Dez 04, 2012 8:57 am

Re: Erro em preenchimento - campos vazios não preenche

Mensagem por PRMPOKER »

Prezados, boa tarde.

Caro George2342, tudo bem?

Acrescente os seguintes caracteres no final da linha de inclusão do subitem:

& ""

Código: Selecionar todos

 
.ListItems(1).ListSubItems.Add 1, , banco(1) & ""
.ListItems(1).ListSubItems.Add 2, , banco(67) & ""
.ListItems(1).ListSubItems.Add 3, , banco(71) & ""
.ListItems(1).ListSubItems.Add 4, , banco(1) & ""
.ListItems(1).ListSubItems.Add 5, , banco(1) & ""
Faça o teste e nos avise.

Um abraço!


George2342
Colaborador
Colaborador
Mensagens: 23
Registrado em: Qua Dez 05, 2018 3:29 pm

Re: Erro em preenchimento - campos vazios não preenche

Mensagem por George2342 »

Prezado PRMPOKER, boa tarde.

Nossa, que maravilha, funcionou perfeitamente. Fico super agradecido pela ajuda, muito obrigado mesmo.

Para quem está aprendendo sempre surgem algumas dúvidas, nesse caso eu havia esquecido completamente dessa parte.

Muito obrigado.


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Responder