Propiedad ListBox.ItemsSelected (Access)

Utilice la propiedad ItemsSelected para devolver una referencia de solo lectura a la colección ItemsSelected oculta. Esta colección oculta puede usarse para ontener acceso a los datos de las filas seleccionadas de un control de cuadro de lista de selección múltiple.

Sintaxis

expresión. ElementosSeleccionados

Expresión Variable que representa un objeto ListBox .

Comentarios

La colección ItemsSelected es diferente de otras colecciones en cuanto que es una colección de valores de tipo Variants en lugar de objetos. Cada valor Variant es un índice entero que hace referencia a una fila seleccionada en un cuadro de lista o cuadro combinado.

Use la colección ItemsSelected en combinación con la propiedad Column o la propiedad ItemData para recuperar datos de las filas seleccionadas en un cuadro de lista o cuadro combinado. Puede enumerar la colección ItemsSelected mediante la For Each... Siguiente instrucción.

Por ejemplo, si tiene un cuadro de lista Empleados en un formulario, puede enumerar la colección ItemsSelected y usar la propiedad ItemData del control para devolver el valor de la columna enlazada para cada fila seleccionada en el cuadro de lista.

Para habilitar la selección múltiple de filas en un cuadro de lista, establezca la propiedad MultiSelect en Simple o extendida del control.

La colección ItemsSelected tiene dos propiedades, las propiedades Count y Item , y no hay métodos.

Ejemplo:

En el ejemplo siguiente se imprime el valor de la columna enlazada para cada fila seleccionada en un cuadro de lista Nombres de un formulario Contactos . Para probar este ejemplo, cree el cuadro de lista y establezca su propiedad BoundColumn como quiera y su propiedad MultiSelect en Simple o Extendida. Cambie a la vista Formulario, seleccione varias filas en el cuadro de lista y ejecute el código siguiente.

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

En el ejemplo siguiente se usa el mismo control de cuadro de lista, pero se imprimen los valores de cada columna para cada fila seleccionada en el cuadro de lista, en lugar de solo los valores de la columna enlazada.

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

Soporte técnico y comentarios

¿Tiene preguntas o comentarios sobre VBA para Office o esta documentación? Vea Soporte técnico y comentarios sobre VBA para Office para obtener ayuda sobre las formas en las que puede recibir soporte técnico y enviar comentarios.