Use controles en cascada cuando el valor seleccionado en un cuadro combinado o cuadro de lista determine las opciones en otro. Por ejemplo, al seleccionar una categoría de productos se puede limitar una lista de productos a los productos de esa categoría.
Las propiedades Vincular campos principales y Vincular campos secundarios permiten que Access filtre automáticamente un cuadro combinado o un cuadro de lista dependiente. No es necesario crear una macro o un procedimiento de evento después de la actualización para volver a consultar el control dependiente.
Comprender los campos principal y secundario
Establece las propiedades de vinculación en el cuadro combinado o en el cuadro de lista dependiente.
| Propiedad | Descripción |
|---|---|
| Vincular campos principales | Campo o control del formulario que proporciona el valor utilizado para filtrar el control dependiente. |
| Vincular campos secundarios | Campo del origen de fila del control dependiente que Access compara con el valor principal. |
Cuando cambia el valor principal, Access actualiza el control dependiente y muestra solo las filas con valores de campo secundario coincidentes.
Antes de crear el vínculo, asegúrese de que:
- El control maestro devuelve el valor que contiene el campo secundario. Por ejemplo, un cuadro combinado de categoría debe devolver
CategoryIDcuando el campo secundario tambiénCategoryIDes . - El campo secundario se incluye en el origen de filas del control dependiente. El campo secundario se puede ocultar en la lista, pero debe formar parte del origen de fila.
- Los campos principal y secundario usan tipos de datos compatibles.
Para obtener más información sobre cómo crear controles de lista y establecer sus orígenes de fila, vea Agregar un cuadro de lista o un cuadro combinado.
Filtrar productos por categoría
Supongamos que un formulario de pedido contiene estos cuadros combinados:
-
cboCategory, donde el usuario selecciona una categoría de producto. Su valor es el archivoCategoryID. -
cboProduct, en la que el usuario selecciona un producto.
Para filtrar los productos por la categoría seleccionada:
Abra el formulario en la vista Diseño.
Seleccione
cboProducty, a continuación, presione F4 para abrir la hoja de propiedades.En la pestaña Datos , establezca Tipo de origen de fila en Tabla/Consulta.
Establezca Origen de fila en una consulta o instrucción SQL que incluya el campo utilizado para vincular los controles. Por ejemplo:
SELECT ProductID, ProductName, CategoryID FROM Products ORDER BY ProductName;En este ejemplo, establezca Recuento de columnas en
3, Columna enlazada a1y Anchos de columna en0";2";0". Esta configuración hace que el cuadro combinado retornoProductID, muestreProductNamey oculteCategoryID.Establece las propiedades de vinculación en
cboProduct.Propiedad Valor Vincular campos principales cboCategoryVincular campos secundarios CategoryIDGuarde el formulario y cambie a la vista Formulario.
Seleccione una categoría y abra
cboProduct. La lista de productos muestra solo los productos cuyasCategoryIDcoincidencias con el valor decboCategory.
Access puede usar el campo oculto CategoryID para filtrar las filas porque el campo permanece en el origen de filas.
Use cuadros de lista en cascada
Las propiedades Vincular campos principales y Vincular campos secundarios funcionan del mismo modo con los cuadros de lista. Establezca las propiedades en el cuadro de lista dependiente y asegúrese de que el origen de fila incluya el campo secundario.
Puedes usar cuadros combinados y cuadros de lista vinculados para escenarios como:
- Departamentos, equipos y empleados
- Clientes y pedidos
- Proyectos y tareas
- Categorías de productos y categorías de productos
Vincular más de un campo
Si los registros están relacionados por más de un campo, escriba los nombres separados por comas en ambas propiedades de vinculación. Access busca coincidencias de los campos según su posición en cada lista.
Por ejemplo:
| Propiedad | Valor |
|---|---|
| Vincular campos principales | CompanyID, LocationID |
| Vincular campos secundarios | CompanyID, LocationID |
Ambas listas deben contener el mismo número de entradas. Cada campo principal debe tener un tipo de datos compatible con el campo secundario en la posición correspondiente.
Usar controles en cascada en formularios continuos
Los cuadros combinados vinculados y los cuadros de lista también funcionan en formularios continuos. Access filtra el control dependiente de cada registro visible utilizando el valor maestro de ese registro. No es necesario el código de evento para volver a consultar cada fila de manera independiente.
Solucionar problemas de controles en cascada
| Problema | Qué comprobar |
|---|---|
| Las propiedades de vinculación no aparecen en la pestaña Datos . | Asegúrese de que Access está actualizado a la versión 2609 (compilación 20430.20092) o posterior. |
| El control dependiente está vacío. | Confirme que el control maestro tiene un valor, que existen registros coincidentes, que el campo secundario está incluido en el origen de fila y que los valores maestro y secundario usan tipos de datos compatibles. |
| El control dependiente muestra elecciones inesperadas. | Confirme que las propiedades de vinculación están establecidas en el control dependiente y que el control maestro devuelve el valor de clave almacenado en el campo secundario. |
| Un vínculo de varios campos no funciona. | Asegúrese de que ambas propiedades contienen el mismo número de campos, en orden coincidente, con tipos de datos compatibles. |
Los controles en cascada existentes que usan VBA o macros siguen funcionando. Use las propiedades de vinculación como alternativa declarativa cuando solo necesite filtrar un control de los valores disponibles en el formulario.
Actualizar acceso
Para buscar una compilación del canal actual más reciente, seleccioneOpciones de actualizaciónde cuenta>de archivo>Actualizar> ahora. Después de instalar la compilación más reciente, es posible que la característica siga tardando más tiempo en aparecer a medida que se expande el lanzamiento.