Combinar Cuadros Combinados en Access

He leído muchas respuestas, pero ninguna la entiendo.
Quiero colocar varios Cuadros Combinados...
Son instancias de cargos de un gobierno... La primera es La Secretaría, que contienen Direcciones, las Direcciones Contienen Unidades, y las Unidades los Cargos...
Quiero Elegir una Secretaría y que en el SIGUIENTE cuadro combinado al desplegar solo salgan las Direcciones de esa Secretaría... Y así hasta llegar al cargo...
Por favor, ya no se donde más leer.
Si quieres mando el archivo para que veas la estructura que tengo..
Respuesta
1
Una vez que tengas los 3 cuadros en tu formulario, el primero que elija todos los diferentes de ese campo. Luego das cin el botón derecho a propiedades del segundo cuadro y pones que el origen de la fila sea una consulta filtrada por el valor del primero. Y lo mismo ocurre con el tercero, que filtre por el valor del segundo cuadro.
Lo que ace access cuando pinchas en el segundo cuadro es, que antes de sacarte la lista mira lo que pusiste en el primer cuadro y hace el filtrado. Lo mismo pasa con el tercer ccombinado.
Fíjate como se llama cada cuadro para hacer las consultas que filtre. Normalmente es así:
para el primer cuadro: select distinct Secretaria from tutabla;
para el segundo: select distinct Direcciones from tutabla where Secretaria like tuformulario.cuadrocombinadoquesea.
Y algo parecido para el tercero..
Más o menos.. con el generador de expresiones lo harás mejor. Suerte

2 respuestas más de otros expertos

Respuesta
1
Tenemos 4 tablas:
Secretaria (IdSecretaria)
Direcciones (IdSecretaria, IdDireccion)
Unidades (IdDireccion, IdUnidad)
Cargos (IdUnidad, IdCargo)
Tenemos 1 formulario con 4 cuadros combinados: Cuadro1, Cuadro2, Cuadro3, Cuadro4.
Para el Cuadro1:
Al hacer clic ---> Procedimiento de Evento ---> Me. Refresch
Origen de la fila ---> Select IdSecretaria From Secretaria
Para el cuadro2:
Al hacer clic ---> Procedimiento de Evento ---> Me. Refresch
Origen de la fila ---> Select IdDireccion From Direcciones Where IdSecretaria=Form!Cuadro1.Value
Para el Cuadro3:
Al hacer clic ---> Procedimiento de Evento ---> Me. Refresch
Origen de la fila ---> Select IdUnidad From Unidades Where IdDireccion=Form!Cuadro2.Value
Para el Cuadro4:
Al hacer clic ---> Procedimiento de Evento ---> Me. Refresch
Origen de la fila ---> Select IdCargo From Unidades Where IdUnidad=Form!Cuadro3.Value
Hola! Muchísimas gracias por la respuesta. Pero aun sigue sin funcionar...
Hago lo que me dices y me da el siguiente error:
Introduzca el Valor del Parámetro: Formulario! Cuadro_combinado240. Valor y luego el espacio en blanco
Las tablas que tengo son las siguientes:
1.- SECRETARIAS: tab_secre Columnas: cod_sec , Secretaría
2.- DIRECCIONES: tab_direc Columnas: cod_sec ; cod_dir ; Dirección
3.- UNIDADES: tab_unida Columnas: cod_sec ; cod_dir ; cod_uni ; Unidad
4.- CARGOS: cargo Columnas : cod_sec ; cod_dir ; cod_uni ; cod_car ; Cargo
Las relacioné todas con los codigos...
Y ahora inserté los Cuadros Combinados
1er Cuadro: Cuadro combinado240 : Origen de Fila: SELECT [tab_secre].[cod_sec], [tab_secre].[SECRETARÍA] FROM tab_secre;
2do Cuadro: Cuadro combinado242 : Origen de Fila: SELECT tab_direc.cod_dir, tab_direc.DIRECCIÓN, tab_direc.[cod_sec] FROM tab_secre INNER JOIN tab_direc ON tab_secre.cod_sec=tab_direc.cod_sec WHERE (((tab_direc.[cod_sec])=[Form]![Cuadro_combinado240].[Value]));
Y lo dejé hasta ahí... una vez funcione ese seguiré con lo demás.. sino no vale la pena...
Gracias por cualquier ayuda que me puedas prestar
Anexo mi trabajo para hacerlo mas gráfico http://www.fileden.com/files/2009/1/29/2291911//Contactos.accdb
El cuadro combinado ¿se llama Cuadro Combinado240 (con espacio)? O ¿Cuadro_Combinado240 (Con guión bajo)? Porque al pedirte el parámetro tiene toda la pinta de ser un error de escritura. Ya sabes que si es con espacio en blanco tiene que ir entre corchetes [].
Eso no lo tengo claro... porque en unos lados aparece con guion bajo y en otros sin el...
En Propiedades del Cuadro Combinado, en la pestaña Todas, en la primera fila te aparece Nombre, el nombre que te aparezca ahí ese es el del cuadro combinado y el que tienes que utilizar en la cláusula Where. Para no liarte, ahí puedes cambiar el nombre y ponerlo sin espacios: CuadroCombinado240.
Me cuentas, Angeles
Nada... ya yo me doy por vencido... gracias por todo Angeles...
Creo que el error viene de otro lado... quien sabe de donde...
Por vencido, por vencido... Pues pronto. Si me mandas la BD (en access 2003) te la hecho un vistazo a ver si lo solucionamos.
[email protected]
Cierto! Muy pronto para tirar la tolla... ya me puse en contacto contigo por mail...
Muchísimas Gracias!
Te he mandado una BD en el 2003 para que la veas.
Como lo estamos haciendo por email, por favor cierra la pregunta, es que tengo unas cuantas y tengo un lío de no te menees.
Respuesta
1
¿Ok
sabes el lenguaje sql?
¿Si es así utiliza en inner join
otra pregunta estas trabajando con visual basic y con combobox?
si es asi  usa el inner join para filtrar al empleado
por ejemplo
select a.codigoempleado,b.lugar,c.unidad from secretaria a, direcciones b,;
unidades c   inner join  secretaria  on a.codigoempleado=b.codigoempleado and a.codigoempleado=c.codigoempleado into cursor encontrado
de esta manera cuando quieras asignarle un valor a el combobox en el rowsource deberas poner encontrado.el nombre del campo que quieres ver
si te ha servido de algo o no entiendes duda
me puedes escribir a [email protected] 
o a [email protected]
para que me comentes mas y pueda estar mas pendiente de tu problema

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas