Está en la página 1de 3

Cuadros combinados en cascada

Publicada en 1 mayo, 2012 de @docebit Publicado en: Cursos y tutoriales 31 Comentarios


Supongamos este ejemplo: Una tabla de Artículos y cada artículo tiene su categoría. En un
formulario queremos, mediante dos cuadros combinados, que al seleccionar del primero
una categoría, en el segundo solo me muestre los artículos de esa categoría. Pues nada
mas sencillo de realizar, así que pongámonos manos a la obra.

Lo mas importante es tener bien definidas las tablas.

Tabla Artículos

 IdArticulo
 Articulo
 IdCategoria 

Tabla Categorias

 IdCategoria
 Categoria

Una muestra de la tabla Artículos. Nótese que el campo IdCategoría está configurado


como un cuadro de búsqueda que lee de la tabla Categorías y oculta el campo clave para
que solo muestre el nombre de la categoría y no su número.

IdArticul
Articulo IdCategoria
o

1 Monitor Sansung 22″ Monitores

2 Disco Duro Seagate 2TB Discos Curos

Memoria Kingston 4Gb


3 Memorias
DDR3

4 Monitor LG 27″ Full HD Monitores


Ahora vamos a nuestro formulario y ponemos el primer cuadro combinado y como origen
de datos le damos la tabla Categorías, el asistente se ocupará de ocultar el campo clave
para que quede mas bonito,  y a continuación ponemos el segundo cuadro combinado y le
damos como origen de datos la tabla Artículos. De esta tabla, el asistente también ocultará
el campo clave, sin embargo nos dejará a la vista el último campo “IdCategoría” :
Cuadro Combinado Artículos

El segundo paso debe ser ir a las propiedades de cuadro combinado de Artículos y en el


apartado “Ancho de columnas” dejarlo mas o menos así: 0cm ;4cm; 0cm con lo cual
definimos el ancho de la última columna en cero y no se muestra aunque siga existiendo.

Ahora mismo los cuadros combinados aún son independientes uno del otro, tenemos que
configurar la forma para que el cuadro artículos solo muestre los de la categoría
seleccionada en el primer cuadro combinado.  un inciso antes de seguir, mis cuadros
combinados se llaman”Cuadro_Combinado0″ y “Cuadro_Combinado2″ porque no les he
cambiado el nombre que pone Access por defecto al ponerlos sobre el formulario.

La forma de hacerlo es desde las propiedades del cuadro combinado Artículos:

Pulsar para ir al generador de consultas

En el generador de consultas nos situamos en “Criterios” del campo “IdCategoría” y


hacemos referencia al Cuadro combinado de la categoría:

Con esto ya está, ale a probar vuestro cuadro combinado. Pues no majos, resulta que
aún no funciona y os explico el motivo. Los cuadro combinados se rellenan con datos, o
sea, con la tabla que tienen como origen en el momento de abrir el formulario o en el
momento de cambiar de registro. Lo que os ha pasado, si habéis hecho  la prueba, es
que al mostrar el formulario, los dos cuadros combinados están vacíos aunque al pulsar el
de categorías si nos las muestre y si seleccionáis una categoría no nos muestra los
artículos que le pertenecen. El motivo es que, aunque el origen de datos de Artículos ya
incluya un filtro por Categorías no se actualizará por el mero echo de seleccionar la
categoría, recordad que los combos solo se actualizan al abrir el formulario.
¿Queréis una solución verdad? si no para que hemos llegado hasta aquí, pues ale, muy
sencilla también, consiste en decirle al cuadro combinado “Categorías” que cuando se
“Actualice” eso es cuando seleccionemos una, me vuelva a cargar el origen de datos del
cuadro combinado de Artículos y lo vamos a hacer con código VBA ¿Que no sabéis
programar? no os hace falta, ya veréis que esto es como leer una cartilla del cole.
Propiedades del cuadro combinado “Categorías”:

Pestaña Eventos, “Después de actualizar” seleccionamos “Procedimiento de evento” y


pulsamos los puntitos para que nos lleve al editor de código para añadir la siguiente línea:

view plaincopy to clipboardprint?

1. Private Sub Cuadro_combinado0_AfterUpdate()  
2. Me.Cuadro_combinado2.Requery  
3. End Sub  

Lo que viene a decir que “Vete al cuadro combinado de Artículos y me lo actualizas por
cojo…..” ejem, pues eso, que para chulos nosotros y lo forzamos a actualizarse. Y ya está,
ahora si que funciona perfectamente.

Espero que os haya gustado el tutorial

También podría gustarte