Crear un cuadro de lista, un cuadro combinado o un cuadro de lista desplegable

Un cuadro de lista, cuadro combinado o cuadro de lista desplegable (cuadro de lista desplegable: control de una página de acceso a datos que, cuando se hace clic en él, muestra una lista en la que puede seleccionar un valor. No puede escribir ningún valor en un cuadro de lista desplegable.) puede ser un control dependiente (control dependiente: control utilizado en un formulario, informe o página de acceso a datos para mostrar o modificar los datos de una tabla, consulta o instrucción SQL. La propiedad OrigenDelControl (ControlSource) del control almacena el nombre del campo del que es dependiente.) o independiente (control independiente: control que no está conectado con un campo de una tabla, consulta o instrucción SQL subyacente. Un control independiente se suele utilizar para mostrar texto informativo o imágenes decorativas.), y puede buscar valores en una lista fija o en una tabla o consulta. Para crear un cuadro de lista, cuadro combinado o cuadro de lista desplegable dependiente que busque valores en una tabla o consulta, asegúrese de que el formulario o la página de acceso a datos esté basada en un origen de registros (origen de registros: origen de datos subyacente de un formulario, informe o página de acceso a datos. En una base de datos de Access, puede ser una tabla, una consulta o una instrucción SQL. En un proyecto de Access, puede ser una tabla, una vista, una instrucción SQL o un procedimiento almacenado.) que incluye un campo de clave externa (clave externa: uno o más campos de tabla (columnas) que hacen referencia al campo o campos de clave principal de otra tabla. Una clave externa indica cómo están relacionadas las tablas.) o un campo de búsqueda (campo de búsqueda: campo utilizado en un formulario o un informe de una base de datos de Access que muestra una lista de valores recuperados de una tabla o consulta, o almacena un conjunto estático de valores.).

MostrarCrear un cuadro de lista, un cuadro combinado o un cuadro de lista desplegable utilizando un asistente

  1. Abra un formulario o una página de acceso a datos en la vista Diseño (vista Diseño: vista que muestra el diseño de los siguientes objetos de base de datos: tablas, consultas, formularios, informes y macros. En la vista Diseño, puede crear objetos de base de datos nuevos y modificar el diseño de otros existentes.).
  2. En el cuadro de herramientas (cuadro de herramientas: conjunto de herramientas disponible en la vista Diseño para agregar controles a un formulario o informe.), asegúrese de que esté seleccionada (seleccionado: cuando se encuentra seleccionado un botón de barra de herramientas, muestra un borde a su alrededor, independientemente de que el puntero esté situado sobre él.) la herramienta Asistentes para controles Imagen del botón.
  3. Haga clic en la herramienta Cuadro de lista Control de cuadro de lista, Cuadro combinado Herramienta de cuadro combinado o Lista desplegable   Herramienta de cuadro combinado en el cuadro de herramientas.
  4. En el formulario o la página de acceso a datos, haga clic en el lugar donde desee colocar el cuadro de lista, cuadro combinado o cuadro de lista desplegable (cuadro de lista desplegable: control de una página de acceso a datos que, cuando se hace clic en él, muestra una lista en la que puede seleccionar un valor. No puede escribir ningún valor en un cuadro de lista desplegable.). En los cuadros de diálogo del asistente, siga las instrucciones y elija las opciones que desee.

Mostrar¿Cómo?

  1. Cuando el asistente pregunte cómo desea obtener los valores del control, siga uno de estos procedimientos:
    • Si desea mostrar una lista fija de valores que cambiarán raras veces, haga clic en Escribiré los valores que desee.
    • Si desea mostrar los datos actuales en un origen de registros, haga clic en Quiero que el cuadro de lista busque los valores en una tabla o consulta.
  2. Siga las instrucciones para especificar cómo aparecerán los valores.
  3. Si crea un cuadro de lista o cuadro combinado en un formulario, cuando el asistente pregunte qué desea que haga Microsoft Access al seleccionar un valor, siga uno de estos procedimientos:
    • Si crea un control independiente, haga clic en Recordar el valor para utilizarlo más adelante.
    • Si crea un control dependiente, haga clic en Almacenar el valor en el campo y seleccione el campo que desee.
  4. Haga clic en Finalizar.
  1. En una página de acceso a datos, haga clic en Propiedades Imagen del botón en la barra de herramientas Diseño de página para abrir la hoja de propiedades del control. En el cuadro de propiedad OrigenDelControl (ControlSource), seleccione el campo al que desee enlazar el cuadro de lista o cuadro de lista desplegable.

MostrarCrear un cuadro de lista, cuadro combinado o cuadro de lista desplegable dependiente de un campo de búsqueda en una tabla

Puede utilizar un campo de búsqueda (campo de búsqueda: campo utilizado en un formulario o un informe de una base de datos de Access que muestra una lista de valores recuperados de una tabla o consulta, o almacena un conjunto estático de valores.) en una tabla para crear un cuadro de lista, cuadro combinado o cuadro de lista desplegable (cuadro de lista desplegable: control de una página de acceso a datos que, cuando se hace clic en él, muestra una lista en la que puede seleccionar un valor. No puede escribir ningún valor en un cuadro de lista desplegable.) dependiente (control dependiente: control utilizado en un formulario, informe o página de acceso a datos para mostrar o modificar los datos de una tabla, consulta o instrucción SQL. La propiedad OrigenDelControl (ControlSource) del control almacena el nombre del campo del que es dependiente.) en una base de datos de Microsoft Access (base de datos de Microsoft Access: colección de datos y objetos (como tablas, consultas o formularios), que está relacionada con un tema o propósito concreto. o un proyecto de Access (proyecto de Microsoft­ Access: archivo de Access que se conecta con una base de datos de Microsoft SQL Server y se usa para crear aplicaciones cliente/servidor. Un archivo de proyecto no contiene datos ni objetos basados en definiciones de datos, como tablas o vistas.) conectado a una base de datos de Microsoft SQL Server 2000 o Microsoft SQL Server 2000 Desktop Engine.

  1. En la vista Diseño (vista Diseño: vista que muestra el diseño de los siguientes objetos de base de datos: tablas, consultas, formularios, informes y macros. En la vista Diseño, puede crear objetos de base de datos nuevos y modificar el diseño de otros existentes.) de una tabla, cree el campo de búsqueda.
  2. Siga uno de estos procedimientos:

MostrarCrear un nuevo formulario con un cuadro de lista o cuadro combinado dependiente del campo de búsqueda

MostrarCrear una nueva página de acceso a datos con un cuadro de lista o cuadro de lista desplegable dependiente del campo de búsqueda

  1. Cree una nueva página de acceso a datos en la vista Diseño. La página debe estar conectada a la base de datos que contenga el campo de búsqueda.
  2. Si no aparece la lista de campos, haga clic en Lista de campos Imagen del botón de la barra de herramientas Diseño de página.
  3. Arrastre la tabla o la consulta que contenga el campo de búsqueda desde la lista de campos hasta la página de acceso a datos. Cuando aparezca el Asistente para formato, seleccione En columnas o Tabular. Access crea automáticamente el cuadro de lista o cuadro de lista desplegable de búsqueda.

MostrarAgregar un cuadro de lista, cuadro combinado o cuadro de lista desplegable a un formulario o una página de acceso a datos

  1. En la vista Diseño, abra un formulario basado en un origen de registros (origen de registros: origen de datos subyacente de un formulario, informe o página de acceso a datos. En una base de datos de Access, puede ser una tabla, una consulta o una instrucción SQL. En un proyecto de Access, puede ser una tabla, una vista, una instrucción SQL o un procedimiento almacenado.) que incluya el campo de búsqueda, o abra una página de acceso a datos que esté conectada a la base de datos que incluya el campo de búsqueda.
  2. Si no aparece la lista de campos, haga clic en Lista de campos Imagen del botón de la barra de herramientas Diseño de formularios o Diseño de página.
  3. Arrastre el campo de búsqueda desde la lista de campos hasta el formulario o la página de acceso a datos. Access crea automáticamente el cuadro de lista, cuadro combinado o cuadro de lista desplegable de búsqueda.

MostrarCrear un cuadro de lista, cuadro combinado o cuadro de lista desplegable desde cero

Al crear un cuadro de lista, cuadro combinado o cuadro de lista desplegable desde cero, establece manualmente gran número de las propiedades del control. Si desea obtener más información sobre una propiedad determinada, haga clic en el cuadro de propiedad apropiado y presione F1.

  1. Abra un formulario o una página de acceso a datos en la vista Diseño (vista Diseño: vista que muestra el diseño de los siguientes objetos de base de datos: tablas, consultas, formularios, informes y macros. En la vista Diseño, puede crear objetos de base de datos nuevos y modificar el diseño de otros existentes.).
  2. En el cuadro de herramientas (cuadro de herramientas: conjunto de herramientas disponible en la vista Diseño para agregar controles a un formulario o informe.), asegúrese de que no esté seleccionada (seleccionado: cuando se encuentra seleccionado un botón de barra de herramientas, muestra un borde a su alrededor, independientemente de que el puntero esté situado sobre él.) la herramienta Asistentes para controles Imagen del botón.
  3. Haga clic en la herramienta Cuadro de lista Control de cuadro de lista, Cuadro combinado Herramienta de cuadro combinado o Lista desplegable Herramienta de cuadro combinado en el cuadro de herramientas.
  4. Haga clic en el formulario, informe o página de acceso a datos para crear un control de tamaño predeterminado o, haga clic y arrastre el mouse (ratón) hasta que el control tenga el tamaño deseado.
  5. Con el control seleccionado, haga clic en Propiedades Imagen del botón de la barra de herramientas Diseño de formularios o Diseño de página para abrir la hoja de propiedades del control.
  6. Siga uno de estos procedimientos:

MostrarEstablecer las propiedades de un cuadro de lista o cuadro combinado en un formulario

  1. En el cuadro de propiedad TipoDeOrigenDeLaFila (RowSourceType), siga uno de estos procedimientos:
    • En una base de datos de Access, para mostrar los valores de una tabla o consulta o bien los resultados de una instrucción SQL, seleccione Tabla o consulta.
    • En un proyecto de Access, para mostrar los valores de una tabla o consulta o bien los resultados de una instrucción SQL, seleccione Tabla/Vista/ProcAlmacenado.
    • Para mostrar una lista fija de valores, seleccione Lista de valores.
    • Para mostrar una lista de campos en una tabla o consulta, seleccione Lista de campos.
  2. En el cuadro OrigenDeLaFila (RowSource), siga uno de estos procedimientos:
    • Seleccione una tabla o consulta que contenga los valores o nombres de campo que desee que aparezcan en el cuadro de lista.
    • Escriba una lista de valores fijos y separe cada elemento mediante un punto y coma (;).
    • Escriba una instrucción SQL o haga clic en el botón Generar Imagen del botón para abrir el Generador de consultas.
  3. Si desea que aparezca más de una columna en el control, haga clic en el cuadro de propiedad NúmeroDeColumnas (ColumnCount) y escriba el número de columnas que desee.

MostrarEstablecer las propiedades de un cuadro de lista o cuadro de lista desplegable en una página de acceso a datos

  1. Establezca el cuadro de propiedad ListRowSource y seleccione el conjunto de registros que desee.
  2. En los cuadros de propiedad ListBoundField y ListDisplayField, seleccione los campos que desee.
  1. Si desea que Access almacene el valor seleccionado, haga clic en el cuadro de propiedad OrigenDelControl (ControlSource) y seleccione el campo al que desee enlazar el cuadro de lista, cuadro combinado o lista desplegable.

MostrarEn un formulario, crear un cuadro de lista o cuadro combinado que obtenga sus filas de una función de Visual Basic

Puede considerar utilizar este procedimiento cuando los valores de una lista están cambiando constantemente, o si los valores no están almacenados en una base de datos. Por ejemplo, podría escribir una función que rellenase un cuadro de lista con una lista de fechas, cada una un número determinado de fechas después de la fecha actual.

  1. Cree una función de Visual Basic (procedimiento Function: procedimiento que devuelve un valor y que se puede utilizar en una expresión. Se declara una función con la instrucción Function y se finaliza con la instrucción End Function.).
  2. En el cuadro de herramientas (cuadro de herramientas: conjunto de herramientas disponible en la vista Diseño para agregar controles a un formulario o informe.), asegúrese de que no esté seleccionada (seleccionado: cuando se encuentra seleccionado un botón de barra de herramientas, muestra un borde a su alrededor, independientemente de que el puntero esté situado sobre él.) la herramienta Asistentes para controles Imagen del botón.
  3. Haga clic en la herramienta Cuadro de lista Control de cuadro de lista o Cuadro combinado Herramienta de cuadro combinado del cuadro de herramientas.
  4. Con el control seleccionado, haga clic en Propiedades Imagen del botón de la barra de herramientas Diseño de formularios para abrir la hoja de propiedades del control.
  5. En el cuadro de la propiedad TipoDeOrigenDeLaFila, introduzca el nombre de la función. No ponga un signo de igual antes del nombre de la función.
  6. Deje el cuadro de la propiedad OrigenDeLaFila en blanco.

MostrarPersonalizar un cuadro de lista, un cuadro combinado o un cuadro de lista desplegable

  1. En la vista Diseño (vista Diseño: vista que muestra el diseño de los siguientes objetos de base de datos: tablas, consultas, formularios, informes y macros. En la vista Diseño, puede crear objetos de base de datos nuevos y modificar el diseño de otros existentes.) del formulario o la página de acceso a datos, compruebe que está seleccionado el cuadro de lista (cuadro de lista: control que proporciona una lista de opciones. Un cuadro de lista consta de una lista y una etiqueta opcional.), cuadro combinado (cuadro combinado: control usado en un formulario que proporciona la funcionalidad combinada de un cuadro de lista y un cuadro de texto. Puede escribir un valor en un cuadro combinado o hacer clic en el control para mostrar una lista y seleccionar un elemento de ella.) o cuadro de lista desplegable (cuadro de lista desplegable: control de una página de acceso a datos que, cuando se hace clic en él, muestra una lista en la que puede seleccionar un valor. No puede escribir ningún valor en un cuadro de lista desplegable.) y, a continuación, haga clic en Propiedades Imagen del botón en la barra de herramientas para abrir la hoja de propiedades del control (control: objeto de interfaz gráfica para el usuario, como un cuadro de texto, una casilla de verificación, una barra de desplazamiento o un botón de comando, que permite a los usuarios controlar el programa. Utilice los controles para mostrar datos y opciones, realizar una opción o facilitar la lectura de la interfaz.).
  2. Siga uno de estos procedimientos:

Cambiar el orden en un cuadro de lista, cuadro combinado o cuadro de lista desplegable

Si ha utilizado un asistente para crear el cuadro de lista, cuadro de lista desplegable o cuadro combinado, Microsoft Access ordena automáticamente las filas que forman la lista por la primera columna visible. Si desea especificar un orden distinto, o ha establecido la propiedad OrigenDeLaFila (RowSource) del control en una consulta guardada, puede utilizar uno de los dos procedimientos siguientes.

 Nota   Los asistentes no están disponibles en una página de acceso a datos independiente o que esté conectada a una base de datos que no sea la que se encuentra abierta actualmente. En este caso, deberá crear un cuadro de lista o cuadro de lista desplegable por su cuenta.

  • Para cambiar el orden de un control en un formulario, haga clic en la ficha Datos y, junto al cuadro de la propiedad OrigenDeLaFila (RowSource), haga clic en el botón Generar Imagen del botón para abrir el Generador de consultas o el Generador de instrucción SQL, y especifique el orden que desee.
  • Para cambiar el orden de un control en una página de acceso a datos, cree una consulta con el orden que desee y, a continuación, en el cuadro de la propiedad ListRowSource de la página de acceso a datos, seleccione la consulta en la lista.

Hacer depender una columna de un cuadro de lista, cuadro combinado o cuadro de lista desplegable

  • En un formulario       En el cuadro de la propiedad ColumnaDependiente (BoundColumn) del cuadro de lista o del cuadro combinado, especifique un número que corresponda a la colocación de la columna en el cuadro de lista o cuadro combinado. Por ejemplo, introduzca 1 para vincular la primera columna del cuadro de lista o cuadro combinado al campo base especificado en la propiedad OrigenDelControl. Incluya las columnas ocultas cuando cuente las columnas.

Si establece la propiedad ColumnaDependiente (BoundColumn) en 0, Microsoft Access guarda el índice de lista (índice de lista: secuencia de números para los elementos de una lista, comenzando con 0 para el primer elemento, 1 para el segundo y así sucesivamente.) en lugar de un valor de una de las columnas. Esto es útil si desea guardar una secuencia de números en vez del valor de la lista.

  • En una página de acceso a datos       En el cuadro de la propiedad ListBoundField del cuadro de lista o el cuadro de lista desplegable, escriba el nombre del campo que corresponda al emplazamiento de la columna en el cuadro de lista o el cuadro de lista desplegable.

Utilizar una instrucción SQL como origen de la fila para un cuadro de lista o cuadro combinado en un formulario

Puede que desee utilizar una instrucción SQL (cadena o instrucción SQL: expresión que define un comando de SQL, como SELECT, UPDATE o DELETE, e incluye cláusulas como WHERE y ORDER BY. Las instrucciones o cadenas SQL se utilizan en consultas y en funciones de agregado.) en lugar de una consulta almacenada como origen de la fila (origen de registros: origen de datos subyacente de un formulario, informe o página de acceso a datos. En una base de datos de Access, puede ser una tabla, una consulta o una instrucción SQL. En un proyecto de Access, puede ser una tabla, una vista, una instrucción SQL o un procedimiento almacenado.) de un cuadro de lista o cuadro combinado en un formulario de manera que la consulta no aparezca en la ventana Base de datos (ventana de base de datos: en Access 2003 y versiones anteriores, ventana que aparece cuando se abre una base de datos o un proyecto. Muestra métodos abreviados para crear objetos de base de datos nuevos y abrir otros existentes. En versiones posteriores, fue reemplazada por el panel de navegación.). Sin embargo, los cuadros de lista y los cuadros combinados basados en las instrucciones SQL son más lentos que los cuadros de lista y cuadros combinados basados en las consultas almacenadas.

  1. Haga clic en el botón Generar Imagen del botón próximo a la propiedad OrigenDeLaFila (RowSource) para abrir el Generador de consultas.
  2. En el Generador de consultas, haga clic en Vista SQL en el menú Ver.
  3. En la ventana SQL, seleccione la instrucción SQL completa, y presione CTRL+C para copiarla. Cierre el Generador de consultas.
  4. Haga clic en el cuadro de la propiedad OrigenDeLaFila, y presione CTRL+V para pegar la instrucción SQL en el cuadro de la propiedad.
  5. Borre la consulta original en la ventana de la Base de datos.

Ocultar una columna en un cuadro de lista o cuadro combinado de un formulario

  • En el cuadro de la propiedad AnchuraDeColumnas, escriba 0 en la columna o columnas que desee ocultar.

Por ejemplo, suponga que tiene un cuadro combinado de dos columnas dependiente que tiene una columna IdProveedor y una columna NombreProveedor. La columna IdProveedor es la primera columna en la lista. Para ocultar la columna IdProveedor, establezca la propiedad AnchuraDeColumnas como se muestra en la siguiente ilustración.

Ocultar columnas mediante la propiedad AnchuraDeColumnas (ColumnWidths)

Llamada 1   Establezca la columna IdProveedor (primera columna) en 0 para ocultarla.

Llamada 2   Especifique un ancho para la columna NombreProveedor.

Llamada 3   La columna IdProveedor es la columna dependiente, aunque esté oculta.

 Nota   En un cuadro combinado, la primera columna visible se presenta en la parte del cuadro de texto del cuadro combinado cuando no se muestra la lista. Por ejemplo, se presentaría la columna NombreProveedor en el ejemplo anterior, puesto que la columna IdProveedor está oculta. Si la columna IdProveedor no estuviera oculta, sería la única columna mostrada.

Agregar encabezados de columna a un cuadro combinado en un formulario

  • En la propiedad EncabezadosDeColumna (ColumnHeads), haga clic en para mostrar los encabezados de las columnas. Los encabezados en los cuadros combinados aparecen sólo cuando se abre la lista.

Si el cuadro combinado o cuadro de lista está basado en un origen de registros (origen de registros: origen de datos subyacente de un formulario, informe o página de acceso a datos. En una base de datos de Access, puede ser una tabla, una consulta o una instrucción SQL. En un proyecto de Access, puede ser una tabla, una vista, una instrucción SQL o un procedimiento almacenado.), Microsoft Access utiliza los nombres del origen de registros como los encabezados de las columnas. Si el cuadro combinado o cuadro de lista está basado en una lista de valores fijos, Microsoft Access utiliza los primeros x elementos de datos de la lista de valores (propiedad OrigenDeLaFila) como encabezado de las columnas, donde x es igual al número establecido en la propiedad NúmeroDeColumnas.

Desactivar la función de rellenar al escribir de un cuadro combinado en un formulario

  • En el cuadro de la propiedad ExpansiónAutomática, haga clic en No.

Cuando la propiedad ExpansiónAutomática está establecida a No, debe seleccionar un valor de la lista o introducir el valor completo.

Establecer el ancho de la porción del cuadro de lista de un cuadro combinado en un formulario

  • En el cuadro de la propiedad AnchuraDeLaLista, introduzca el ancho deseado utilizando la unidad actual de medida (establecida en el Panel de Control de Windows). Para utilizar una unidad de medida distinta de la preestablecida, incluya un indicador de medida. Por ejemplo, escriba 2 cm. Compruebe que deja espacio suficiente para una barra de desplazamiento.

La porción del cuadro de lista del cuadro combinado puede ser más ancha que la porción del cuadro de texto, aunque no puede ser más estrecha. El valor preestablecido (Auto) hace que el cuadro de lista tenga el mismo ancho que la porción del cuadro de texto del cuadro combinado.

Establecer el número máximo de filas que muestra un cuadro combinado en un formulario

  • En el cuadro de la propiedad FilasEnLista, introduzca un número.

Si el número actual de filas excede el número especificado en la propiedad FilasEnLista, se presenta una barra de desplazamiento vertical en el cuadro combinado.

Limitar las entradas del cuadro combinado a los elementos de la lista de un cuadro combinado en un formulario

  • En el cuadro de la propiedad LimitarALista, haga clic en Si.

Notas

Si la primera columna presentada en un cuadro combinado no es la columna dependiente (control dependiente: control utilizado en un formulario, informe o página de acceso a datos para mostrar o modificar los datos de una tabla, consulta o instrucción SQL. La propiedad OrigenDelControl (ControlSource) del control almacena el nombre del campo del que es dependiente.), Microsoft Access limita las entradas a la lista aunque la propiedad LimitarALista esté establecida a No.

Si la propiedad LimitarALista está establecida a No, cuando introduzca una entrada que no esté en la lista, si el cuadro combinado es dependiente, la entrada se almacenará en el campo base, pero no se agregará a la lista. Para agregar nuevas entradas a la lista, utilice la propiedad AlNoEnLista y el evento NotInList.

 
 
Corresponde a:
Access 2003