ListBox para ListBox no Access: Aprenda a criar este efeito de forma simples
Neste tutorial você vai aprender como criar o efeito ListBox para ListBox no Access. 😲
Certamente você alguma vez já se deparou com algum Assistente no Access ou em outro aplicativo que produz este efeito e teve muita curiosidade como isto pode ser feito. Vamos mostrar um passo-a-passo de como isto pode ser feito de uma forma bem básica, utilizando os recursos que o Microsoft Access disponibiliza e um pequeno código de VBA para completar o efeito.
Então acompanhe este tutorial e depois tente criar na sua máquina.💪
Dê um play no vídeo e veja o efeito!!👇👇👇
Com base neste template que fizemos, primeiramente criamos uma tabela com 2 campos: O 1º com o nome de alguns estados e o 2º campo chamado de Status.
O que este campo representa neste template? Este campo numérico será atualizado a medida que ele for adicionado ou removido. Vamos adotar o valor 0 para adição e o 1 para remoção. No decorrer do tutorial você irá entender melhor esta parametrização.👌
ListBox para ListBox no Access: Criando o Formulário que produzirá o efeito
No formulário que criamos, colocamos 2 ListBoxes não acoplados, um chamado de ListBox1 e o outro ListBox2. Criamos também 2 botões, conforme abaixo:
No ListBox1, a Origem da Linha do listbox será a tabela que chamamos de tblEstados, mas serão carregados apenas os itens que possuem o valor zero(0) no campo status, conforme abaixo:
Já no ListBox2, a Origem da Linha deste listbox também será a tabela que chamamos de tblEstados, mas serão carregados apenas os itens que possuem o valor um(1) no campo status, conforme abaixo:
ListBox para ListBox no Access: Criando as Consultas Atualizar para identificar as Adições e as Remoções do ListBox
Agora precisamos criar 2 Consultas Atualizar,
A 1ª será executada via VBA, assim que eu escolher um item no ListBox1 e clicar no botão adicionar. Ela vai atualizar o Status do item, passando do valor zero(0) para um(1).
Repare que o critério da consulta está fazendo referência a ListBox1 ([Forms]![frmEstados].[listBox1]) e o valor que será atualizado para 1.
A 2ª será executada também via VBA, assim que eu escolher um item no ListBox2 e clicar no botão remover. Ela vai atualizar o Status do item, passando do valor um(1) para zero(0).
Repare que o critério da consulta está fazendo referência a ListBox2 ([Forms]![frmEstados].[listBox2]) e o valor que será atualizado para 0.
ListBox para ListBox no Access: Criando as ações dos 2 botões
Neste 1º código, do evento ao clicar do botão Adicionar, desabilitamos a mensagem padrão de confirmação do Access, e executamos a consulta que chamamos de qryAtualizar_lb1 (Atualiza a ListBox1) que acabamos de criar. Depois habilitamos as mensagens padrão do Access e atualizamos os 2 listboxes.
Sub btnAdicionar_Click()
DoCmd.SetWarnings (False)
DoCmd.OpenQuery "qryAtualizar_lb1", acViewNormal
DoCmd.SetWarnings (True)
Me!listBox1.Requery
Me!listBox2.Requery
End Sub
Neste 2º código, do evento ao clicar do botão Remover, desabilitamos a mensagem padrão de confirmação do Access, e executamos a consulta que chamamos de qryAtualizar_lb2 (Atualiza a ListBox2) que acabamos de criar. Depois habilitamos as mensagens padrão do Access e atualizamos os 2 listboxes.
Sub btnRemover_Click()
DoCmd.SetWarnings (False)
DoCmd.OpenQuery "qryAtualizar_lb2", acViewNormal
DoCmd.SetWarnings (True)
Me!listBox1.Requery
Me!listBox2.Requery
End Sub
Pronto. Agora você pode executar e ver o efeito criado.👍
Curso de Access VBA Completo: Do Básico ao Avançado.
Quer aprender a programar no Access? Clique na imagem abaixo:
Por fim, deixe seu comentário sobre o que achou, se usar este recurso e você também pode enviar a sua sugestão para os próximos posts.