Ir para conteúdo
raffrenan

EXCEL + VBA [ LISTVIEW ]

Recommended Posts

E ae galera, seguinte, estou desenvolvendo um sistema em vba no excel para a empresa que trabalho, porém estou utilizando um sistema de consulta com listview, onde ele busca do banco de dados, porém preciso que esses dados sejam mostrados em uma textbox específica, porém não estou conseguindo, segue o código:

Private Sub Btn_Consulta_Click()

    Dim strSql As String
    
    ID = Me.TxtConsulta
    
    Set rs = New ADODB.Recordset
    
    strSql = "SELECT ID_Monitor AS [Código], Nome AS [Nome do Operador],"
    strSql = strSql & " * FROM Monitores WHERE ID_Monitor LIKE '" & ID & "'"
    
    rs.Open strSql, MiConexao
    
    On Error Resume Next
    
    Me.Lista.ListItems.Clear
    
    With Me.Lista
    
        .View = lvwReport
        .Gridlines = True
        .FullRowSelect = True
        .ColumnHeaders.Clear
        
    For i = 0 To rs.Fields.Count - 1
    
        .ColumnHeaders.Add i + 1, , VBA.UCase(rs(i).Name)
        
    Next i
    
    End With
    
    While Not rs.EOF
    
    Set Lrst = Me.Lista.ListItems.Add(Text:=rs(0))
    
        Lrst.SubItems(1) = rs(1)
        Lrst.SubItems(2) = rs(2)
        Lrst.SubItems(3) = rs(3)
        Lrst.SubItems(4) = rs(4)
        Lrst.SubItems(5) = rs(5)
        Lrst.SubItems(6) = rs(6)
    
        rs.MoveNext
    
    Wend
    
    Me.TxtConsulta = ""
    Me.TxtConsulta.SetFocus
    

End Sub

Private Sub Lista_ItemClick(ByVal Item As MSComctlLib.ListItem)

Dim Linha As Variant
    
 Linha = Me.Lista.List.Index
 
 Me.TxtNomeView = Me.Lista.List(Linha, 3)
 
End Sub

Private Sub UserForm_Initialize()

Call Conecta

End Sub

 

Lembrando que ele consulta normalmente e mostra na listview, porém quando eu clico em uma opção da lista ele retorna erro.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora

  • Conteúdo Similar

    • Por FIM1999
      Preciso montar um sistema para geração automática de carteirinha para membros de um clube de benefícios. Alguém já tem alguma codificação pronta para isso?
      Ou então sabe como fazer?
    • Por Leo_2019
      Sou novato em access e vba. Estou utilizando uma textbox e gostaria de colar vários nomes na textbox e ao clicar no botão salvar gostaria que fosse inserido todos os valores na tabela, sendo cada nome como um registro, ou seja, incluir em lote ao invés de um por um. Se existir outra forma diferente da textbox também é válido. Tal propósito é devido um sistema de novos colaboradores que tenho que criar. Já criei 80%, mas está faltando essa parte, uma vez que, tentei de várias formas mas não consegui e estou precisando muito dessa ajuda. Tentei inserir a imagem do código que eu fiz, mas não foi possível devido ao tamanho. Desde já agradeço.
    • Por sheepziiin
      Boa tarde colegas !
      Estou quebrando a cabeça com um job para tratamento de logradouros. Segue o raciocínio:  
      Tenho uma lista com todos os endereços do estado de São Paulo, onde os mesmos são extraídos da seguinte forma:
       
      Exemplo:
      AL-AFONSO SCHMIDT/CDM:ED. SOPHIS SANTANA_COM PRUMADA/BLC:A-555-AP - Apartamento: 61 A AL-ANAPURUS/EDI:BOULEVARD/BLC:A-777-AP - Apartamento: 131 AL-ARAPANES/EDI:CDOE,6-5ºANDAR-309-AP - Apartamento: 42 AL-ARAPANES/EDI:COND.ED.MOEMA DUPLEX LIFE-1142-AP - Apartamento: 102 AL-ARAPANES/EDI:COND.ED.MOEMA DUPLEX LIFE-1142-AP - Apartamento: 42 AL-ARAPANES/EDI:PARC BRUMENADI-982-AP - Apartamento: 191 AL-BARROS/EDI:PERVAL-186-AP - Apartamento: 1601 AL-BARROS/EDI:PERVAL-186-BL - Blocos: B AP - Apartamento: 1302 AL-CAETANO,S/CDM:ED. GIARDINO_CDOE_1_ANDAR_11 A 13-165-AP - Apartamento: 63 AL-CAETANO,S/EDI:ESPLENDOR-1234-AP - Apartamento: 71 AL-CAETANO,S/EDI:MAGENTA I_CDOE_1_ANDAR_7 A 10-2575-AP - Apartamento: 94 AL-CALCUTA-195-AP - Apartamento: 02 AL-CAMPESTRE-728-CS - Casa: 1 AL-CASA BRANCA/CDM:BRISTOL-851-CJ - Conjunto: 11 AN - Andar: 01 AL-CASA BRANCA/CDM:SAINT SIMON-667-AP - Apartamento: 11
      Notem que os casos "não tem um padrão" (até tem por tipo de residencia). Utilizei inúmeras postagens aqui do fórum e consegui solucionar os casos para residencias (padrão TIPO_LOG;LOG;COMPL;NUM), no entanto as formulas e soluções aqui indicadas por vocês "param" na primeira sequencia numérica, entretanto para a maioria dos casos, o texto continua com letras, números e caracteres.
       
      Segue o padrão final que preciso chegar.
      Exemplo: AL-AFONSO SCHMIDT/CDM:ED. SOPHIS SANTANA_COM PRUMADA/BLC:A-555-AP - Apartamento: 61 A
      Resultado Tratado: AFONSO SCHMIDT 555
       
      Desde de já muito obrigado pelos retornos que certamente virão.
    • Por capcsar
      Bom dia pessoal. 

      Não sei muito sobre VBA, por isso estou tendo problemas com alguns códigos.

      Preciso copiar a cada linha da PLAN 1 para a PLAN 2, se repetindo conforme a quantidade descrita do lado de cada linha.

      Alguém sabe e pode me ajudar nisso.

      Desde já agradeço.

      Abraços
       
       


    • Por lintemani
      Sub mudar()     Dim empreend, nome_emp, nome_cont As String         Sheets("Plan2").Select     Range("H16").Select         empreend = ActiveCell     nome_emp = ActiveCell.Offset(1, 1)     nome_cont = ActiveCell.Offset(1, 2)         Sheets("Plan1").Select         Range("E6").Select         Do Until ActiveCell = empreend         ActiveCell.Offset(1, 0).Select     Loop             ActiveCell.Offset(0, 1) = nome_emp         ActiveCell.Offset(0, 2) = nome_cont                                  End Sub
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.