Objeto ListBox (Access)

Este objeto corresponde a un control cuadro de lista. El control cuadro de lista muestra una lista de valores o alternativas.

Comentarios

Control Herramienta
Control Cuadro de lista Herramienta Cuadro de lista

En muchos casos, es más rápido y fácil seleccionar un valor de una lista que recordar el valor y escribirlo. Una lista de opciones también ayuda a garantizar que el valor que se introduce en un campo es correcto.

La lista contenida en un cuadro de lista consiste en filas de datos. Las filas pueden tener una o más columnas, que pueden aparecer con o sin encabezados, como se muestra en el diagrama siguiente.

Cuadro de lista de varias columnas

Si un cuadro de lista multicolumna es dependiente, Microsoft Access almacena los valores de una de las columnas.

Use un cuadro de lista sin enlazar para almacenar un valor que puede usar con otro control. Por ejemplo, se podría utilizar un cuadro de lista independiente para limitar los valores contenidos en otro cuadro de lista o en un cuadro de diálogo personalizado. También puede usar un cuadro de lista sin enlazar para buscar un registro basado en el valor que seleccione en el cuadro de lista.

Si no hay espacio en el formulario para mostrar un cuadro de lista o si desea poder escribir nuevos valores además de seleccionar valores de una lista, utilice un cuadro combinado en lugar de un cuadro de lista.

Ejemplo:

En este ejemplo se muestra cómo filtrar el contenido de un cuadro de lista mientras se escribe en un cuadro de texto.

En este ejemplo, un cuadro de lista denominado ColorID muestra una lista de colores almacenados en la tabla Colores . Al escribir en el cuadro de texto FilterBy , los elementos de ColorID se filtran dinámicamente.

Para ello, use el evento Change del cuadro de texto para compilar una instrucción SQL que servirá como el nuevo RowSource del cuadro de lista.

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

Propiedades

Consulte también

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.