¿Cómo puedo hacer que las opciones del segundo cuadro combinado dependan de lo que elija en el primero?
Teniendo dos cuadros combinados como puedo hacer que las opciones del segundo cuadro combinado dependan de lo que elija en el primer cuadro combinado, es decir que dependiendo de lo que elija en el primer cuadro combinado me tienen que salir en el segundo cuadro las opciones correspondientes a la opción elegida.
El siguiente ejemplo esta basado en la base de datos Northwind.mdb de access 97. También sirve neptuno.mdb. Nota previa a desarrollar el ejemplo: Observar la existencia del campo CategoryID en la tabla Products, este campo tiene que ser Numérico del tipo Entero Largo, Indexado - Con duplicados y se va a Relacionar con el campo de mismo nombre CategoryID de la tabla Categories, que será Autonumérico - Indexado Sin duplicados. Esta es la forma en que vamos a Relacionar las dos tablas, y se puede definir en la ventana Relaciones o en la misma Consulta qryProductsList. El Tipo de relación es de Uno a varios, y va del campo CategoryID de la tabla Categories al campo CategoryID de la Tabla Products, se puede exigir también la Integridad referencial. 1. Crear una nueva consulta basada en la tabla Categories y guardarla como qryCategoriesList: Nombre de campo: CategoryID Mostrar: Si Nombre de campo: CategoryName Mostrar: Si Orden: Ascendente 2. Crear una nueva consulta basada en la tabla Products y guardarla como qryProductsList: Nombre de campo: ProductID Mostrar: Si Nombre de campo: ProductName Mostrar: Si Orden: Ascendente Nombre de campo: CategoryID Mostrar: Si Orden: Ascendente Criteros: IIF(IsNull([Forms]![frmSelector]![cboCategorySelect]);[CategoryID];[Forms]![frmSelector]![cboCategorySelect]) Nota: al usar la función IIf() and IsNull() en esta consulta se mostrarán todos los productos para el caso de que no se seleccione ninguna categoría. 4. Crear una macro nueva y guardarla como ResetProductSelect: Macro Name Acción -------------------------------------- ResetProductSelect NuevaConsulta IrAControl Argumentos de la Acción --------------------------------- NuevaConsulta: Nombre del control: cboProductSelect IrAControl: Nombre del control: cboProductSelect 5. Crear un formulario nuevo con los dos cuadros cuadros combinados y guardarlo como frmSelector: Formulario: frmSelector ----------------------------------- Cuadro combinado: Nombre: cboCategorySelect Tipo de origen de la fila: Tabla/Consulta Origen de la fila: qryCategoriesList Número de columnas: 2 Ancho de columnas: 0 cm;1 cm Columna dependiente: 1 Después de actualizar: ResetProductSelect Cuadro combinado: Nombre: cboProductSelect Tipo de origen de la fila: Tabla/Consulta Origen de la fila: qryProductsList Número de columnas: 3 Ancho de columnas: 0 cm;1 cm; 0 cm Columna dependiente: 1 6. Pasar a Vista Formulario. En el cuándo combinado cboCategorySelect, seleccionar una categoría y ver que el otro cuadro combinado cboProductSelect solo lista los productos para esa categoría. 7. En el cuadro combinado cboCategorySelect, seleccionar una categoría diferente y observar que el cuadro combinado cboProductSelect se ha actualizado y lista los productos apropiados para la nueva categoría.