Compartilhar via


Propriedade ListBox.ItemsSelected (Access)

Utilize a propriedade ItemsSelected para devolver uma referência só de leitura à coleção ItemsSelected oculta. Essa coleção oculta pode ser usada para acessar dados nas linhas selecionadas de um controle de caixa de listagem com várias seleções.

Sintaxe

expressão. Itens Selecionados

expressão Uma variável que representa um objeto ListBox .

Comentários

A coleção ItemsSelected é Diferentemente de outras coleções é uma coleção de Variants, em vez de objetos. Cada Variant é um índice inteiro que faz referência a uma linha selecionada em uma caixa de listagem ou caixa de combinação.

Use a coleção ItemsSelected em conjunto com a propriedade Column ou a propriedade ItemData para recuperar dados de linhas selecionadas em uma caixa de listagem ou caixa de combinação. Você pode listar a coleção ItemsSelected usando o para cada … Próximo instrução.

Por exemplo, se tiver uma caixa de listagem Funcionários num formulário, pode listar a coleção ItemsSelected e utilizar a propriedade ItemData do controlo para devolver o valor da coluna vinculada para cada linha selecionada na caixa de listagem.

Para habilitar a seleção múltipla de linhas em uma caixa de listagem, defina a propriedade MultiSelect como Simple ou Extended do controle.

A coleção ItemsSelected tem duas propriedades, as propriedades Contagem e Item e nenhum método.

Exemplo

O exemplo seguinte imprime o valor da coluna vinculada para cada linha selecionada numa caixa de listagem Nomes num formulário Contactos . Para testar este exemplo, crie a caixa de listagem e defina sua propriedade BoundColumn conforme desejado e sua propriedade MultiSelect como Simple ou Extended. Mude para a vista Formulário, selecione várias linhas na caixa de listagem e execute o seguinte código.

Sub BoundData() 
 Dim frm As Form, ctl As Control 
 Dim varItm As Variant 
 
 Set frm = Forms!Contacts 
 Set ctl = frm!Names 
 For Each varItm In ctl.ItemsSelected 
 Debug.Print ctl.ItemData(varItm) 
 Next varItm 
End Sub

O exemplo seguinte utiliza o mesmo controlo de caixa de listagem, mas imprime os valores de cada coluna para cada linha selecionada na caixa de listagem, em vez de apenas os valores na coluna vinculada.

Sub AllSelectedData() 
 Dim frm As Form, ctl As Control 
 Dim varItm As Variant, intI As Integer 
 
 Set frm = Forms!Contacts 
 Set ctl = frm!Names 
 For Each varItm In ctl.ItemsSelected 
 For intI = 0 To ctl.ColumnCount - 1 
 Debug.Print ctl.Column(intI, varItm) 
 Next intI 
 Debug.Print 
 Next varItm 
End Sub

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.