... Assinatura do site por 1 ano + Kit MontaRibbons + 3 Livros em PDF + Diversas Revistas (pdf) de brinde, por apenas R$100,00
(
podendo parcelar em até 10 vezes no cartão de crédito)...

Clique aqui e obtenha mais detalhes do nosso kit completo e de como comprar.


Atualizar uma Listbox através de outra Listbox

Usuário José:

Boa Noite!

Tenho uma Listbox1 no qual efetua-se algumas consultas.  Gostaria que ao selecionar um registro para consulta, na Listbox1, fosse incluído este registro na Listbox2 e apenas de forma temporária.  E que ao fechar o aplicativo, a Listbox2 seja limpa.

Ex:

- Listbox1: João, Paulo, Marcos, Avelino, José

- Em um momento seleciono: Avelino e em outro momento: José.

- Listbox2: Avelino, José

Esta atualização. na Listbox2 seria efetuada no evento 'duplo_click' da Listbox1.

Suporte:

José,

segue o exemplo.

Acrescentei algumas funcionalidades:

- coloca a lista 2 em ordem alfabética;
- verifica se item já foi lançado;
- deleta item na lista 2, com dois cliques.

Veja os códigos utilizados:

Private Sub Lista_DblClick(Cancel As Integer)
Dim k, j() As String, l%
'verifica se o nome já está na lista
k = Split(Me!Lista2.RowSource, ";")
For l = 0 To UBound(k)
    If k(l) = Me!Lista Then
        MsgBox "O nome já está na lista...", vbInformation, "Aviso"
        Exit Sub
    End If
Next
'limpa a matriz
Erase k

'Adiciona item selecionado da listbox 1, na listbox 2
Me!Lista2.AddItem Me!Lista
'captura a lista e passa para uma matriz
k = Split(Me!Lista2.RowSource, ";")
'redimensiona a matriz j, no mesmo tamanho da matriz k
ReDim j(UBound(k))
'passa o conteúdo da matriz k para a matriz j
j = k
'ordena a matriz j em ordem alfabética
WizHook.SortStringArray j
'devolve a lista ordenada para a listbox 2
Me!Lista2.RowSource = Join(j, ";")
End Sub

Private Sub Lista2_DblClick(Cancel As Integer)
'Deleta item da listbox 2
Me!Lista2.RemoveItem Me!Lista2.ListIndex
End Sub

Usuário José:

Muito obrigado.

Atendeu perfeitamente!

Download

 


 

 


1 comentário(s)

Ilmo   25/04/2018 08:06:56

Parabéns pelos valiosos ensinamentos com os quais, há muito, somos brindados e, agora, semanalmente.
Especificamente com relação "Atualizar uma Listbox através de outra Listbox" me deparei com a seguinte situação:
1) Ao utilizar o formulário Teste do arquivo ListBoxParaListbox, este funcionou perfeitamente;
2) Ao importar o formulário Teste para o meu Banco de Dados, ocorreu um erro, cuja mensagem é: "Erro de Compilação: Tipo incorreto: era esperada matriz ou tipo definida pelo usuário."
Ao abrir as Referências do arquivo ListBoxParaListbox constatei a existência do Microsoft Office 16.0 Access database engine Object Library.
Ao tentar incluí-la no meu Banco de Dados surgiu a mensagem: "Nome em conflito com um módulo, projeto ou biblioteca de objetos já existente."
Utilizo o Access 32bits, com as referências: Visual Basic..., Microsoft Access 16.0 ..., Ole Automation, Microsoft DAO 3.6 Object Library, Microsoft ActiveX Data Objects 6.1..., Microsoft Scripting Runtime, Microsoft Office 16.0 Library, Microsoft Outlook 16.0


Envie seu comentário: