Objeto ListBox (Access)

Este objeto corresponde a um controle de caixa de listagem. Controle de caixa de listagem exibe uma lista de valores ou alternativas.

Comentários

Controle Mal-Intencionado
Controle da caixa de listagem Ferramenta de caixa de listagem

Em muitos casos, é mais rápida e fácil selecionar um valor em uma lista do que lembrar de um valor para digitar. Uma lista de opções também ajuda a garantir que o valor inserido em um campo esteja correto.

A lista de uma caixa de listagem consiste em linhas de dados. As linhas podem ter uma ou mais colunas, que podem aparecer com ou sem títulos, conforme mostrado no diagrama a seguir.

Caixa de listagem com várias colunas

Se uma caixa de listagem de várias colunas estiver associada, o Microsoft Access armazenará os valores de uma das colunas.

Use uma caixa de lista de desvinculação para armazenar um valor que você pode usar com outro controle. Por exemplo, você poderia usar uma caixa de listagem não associada para limitar os valores em outra caixa de listagem ou em uma caixa de diálogo. Você também pode usar uma caixa de lista de desvinculação para encontrar um registro com base no valor selecionado na caixa de listagem.

Se você não tiver espaço em seu formulário para exibir uma caixa de listagem, ou se quiser digitar novos valores e selecionar valores em uma lista, use uma caixa de combinação em vez de uma caixa de listagem.

Exemplo

Este exemplo demonstra como filtrar o conteúdo de uma caixa de listagem enquanto você digita em uma caixa de texto.

Neste exemplo, uma caixa de lista chamada ColorID exibe uma lista de cores armazenadas na tabela Cores . Conforme você digita na caixa de texto FilterBy , os itens em ColorID são filtrados dinamicamente.

Para fazer isso, use o evento Alterar da caixa de texto para criar uma instrução SQL que servirá como o novo RowSource da caixa de listagem.

Private Sub FilterBy_Change()

    Dim sql As String
    
    'This will match any entry in the list that begins with what the user 
    'has typed in the FilterBy control
    sql = "SELECT ColorID, ColorName FROM Colors WHERE ColorName Like '" & Me.FilterBy.Text & "*' ORDER BY ColorName"
    
    'If you want to match any part of the string then add wildcard (*) before
    'the FilterBy.Text, too:
    'sql = "SELECT ColorID, ColorName FROM Colors WHERE ColorName Like '*" & Me.FilterBy.Text & "*' ORDER BY ColorName"
    
    Me.ColorID.RowSource = sql
    
End Sub

Eventos

Métodos

Propriedades

Confira também

Suporte e comentários

Tem dúvidas ou quer enviar comentários sobre o VBA para Office ou sobre esta documentação? Confira Suporte e comentários sobre o VBA para Office a fim de obter orientação sobre as maneiras pelas quais você pode receber suporte e fornecer comentários.