Página 1 de 1

Preenchendo ListView

Enviado: 22 Dez 2021 às 13:49
por VitorDomingues
Pessoal, boa tarde. Este é meu segundo Tópico.

Tenho uma planiha de controle de leads que está usando o Access como BD.

Uma das coisas que ela precisa fazer é alimentar um listview e para isso estou utilizando o código abaixo:
Código: Selecionar todos
Sub Alimenar_lst()

'On Error GoTo Erro
    
    frm_AgendamentoPessoal.lst_leads.Clear
    
    Set rs = New ADODB.Recordset
    
    
    Database.ConectarDB
    
        rs.Open "SELECT * FROM tb_clientes", conexao, adOpenKeyset, adLockReadOnly
        
        Dim Linha As Double
        Dim ColunaArray As Double
        Dim Colunars As Double
        Dim LinhaInicial As Double
        Dim LinhaFinal As Double
        Dim ColunaInicial As Double
        Dim ColunaFinal As Double


        Linha = 2
        ColunaArray = 1
        Colunars = 0
        LinhaInicial = 1
        ColunaFinal = rs.RecordCount + 1
        ColunaInicial = 1
        ColunaFinal = 20


        frm_AgendamentoPessoal.lst_leads.ColumnCount = 20

        Dim ArrayDados()

        ReDim ArrayDados(LinhaInicial To LinhaFinal, ColunaInicial To ColunaFinal)


        While Not rs.EOF

            For ColunaArray = ColunaInicial To ColunaFinal

                ArrayDados(Linha, ColunaArray) = rs(Colunars)
                Colunars = Colunars + 1

            Next ColunaArray

            Colunars = 0
            Linha = Linha + 1
            rs.MoveNext

        Wend

        frm_AgendamentoPessoal.lst_leads = ArrayDados()
        Erase ArrayDados()

            Call preencher.cabecalho

        If Not rs Is Nothing Then
            rs.Close
            Set rs = Nothing
        End If

    Database.DesconectarDB


Exit Sub
Erro:
MsgBox "Erro!", vbCritical, "ERRO"
    

End Sub
Aparentemente (para mim rs) está tudo certo, mas quando chamo o código no evento initialize do meu form, ele me traz o erro:

Erro em tempo de execução '9':
Subscrito fora do intervalo

Alguém aí sabe como me ajudar?

Ah, lembrando que o código está em um módulo e ele chama o "cabecalho" que está no mesmo módulo. Segue abaixo o código.
Código: Selecionar todos
Sub cabecalho()
    With frm_AgendamentoPessoal.lst_leads
        .AddItem
        .List(0, 0) = "NOME"
        .List(0, 1) = "TELEFONE"
        .List(0, 2) = "EMAIL"
        .List(0, 3) = "CIDADE"
        .List(0, 4) = "CONSULTOR"
        .List(0, 5) = "DATA DE CONTATO"
        .List(0, 6) = "DATA DE AGENDAMENTO"
        .List(0, 7) = "HORARIO"
        .List(0, 8) = "TIPO DE AGENDAMENTO"
        .List(0, 9) = "FOI NA VISITA?"
        .List(0, 10) = "OBS DA VISITA"
        .List(0, 11) = "ENTREGOU DOCUMENTOS?"
        .List(0, 12) = "SICAQ APROVADO?"
        .List(0, 13) = "DATA DE RESPOSTA SICAQ"
        .List(0, 14) = "OBS SICAQ"
        .List(0, 15) = "ASSINOU CONTRATO?"
        .List(0, 16) = "DATA DE ASSINATURA"
        .List(0, 17) = "COMISSÃO"
        .List(0, 18) = "STATUS CLIENTE"
        
        
        .ColumnWidths = "170;70;150;100;80;170;70;150;100;80;170;70;150;100;80;170;70"
    End With
End Sub

Fico muito agradecido para quem puder ajudar.

Re: Preenchendo ListView

Enviado: 22 Dez 2021 às 15:14
por osvaldomp
Olá, @VitorDomingues .
#
VitorDomingues escreveu: 22 Dez 2021 às 13:49 Erro em tempo de execução '9':
Subscrito fora do intervalo
Esse erro tipicamente ocorre se algum objeto referenciado no código não for encontrado.
Verifique nomes de arquivos, planilhas, tabelas, intervalos, ...


Ah, lembrando que o código está em um módulo e ele chama o "cabecalho" que está no mesmo módulo.
Sub cabecalho()
Call preencher.cabecalho
O que significa o termo "preencher" ? Porque não Call cabecalho ?


Aparentemente (para mim rs) está tudo certo, mas quando chamo o código no evento initialize do meu form, ele me traz o erro:
A linha do código que retorna erro pode não estar no código Initialize. Execute o código desde o início via F8 e assim tente descobrir o local do erro.