Access - Combos en Cascada

 
Vista:

Combos en Cascada

Publicado por Rafi (71 intervenciones) el 27/09/2007 21:15:34
Hola a todos, necesito una pequeña ayuda para terminar de automatizar un pequeño formulario. Quiero hacer tres Cuadros combinados en cascada que me den registros dependiendo el uno del otro. Es decir 1er cuadro tendría tres valores, cada uno de esos valores tendrian otros y así ocurriría con el tercero. No se si me explico. De otra forma, ya aplicandolo a la funcionalidad real del proyecto, serian 1er cuadro contendría tres valores que son nombre de leyes, el segundo debe mostrarme los encabezados de los art. de cada una de esas leyes dependiendo de la escogida en el primero de los cuadros combinados y el tercero ya mostraría el articulado de cada una de las leyes. En definitiva se que debo apoyarme en tablas y poner sentencias SQL en el origen del control de cada uno de los cuadros, pero no lo consigo, manejo poco esto la verdad. Si podeis ayudarme con las sentencias SQL, creo que me sería mas fácil conseguirlo. Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Combos en Cascada

Publicado por Pepe (766 intervenciones) el 27/09/2007 23:25:23
Mira estas serían las sentencias SQL para los tres combos, si tuvieses la tabla nombres leyes, cabeceras y articulos.

El cuadro combiando0, sería el correspondiente a la tabla con los Nombres de las leyes y la sentencia sería la siguiente:

SELECT [Nombres leyes].[Id leyes], [Nombres leyes].[nombre] FROM [Nombres leyes]

El cuadro combinado2, sería el correspondiente a la tabla con las Cabeceras y la sentencia sería la siguiente:

SELECT Cabeceras.[Id cabeceras], Cabeceras.[Id leyes], Cabeceras.nombre FROM Cabeceras WHERE (((Cabeceras.[Id leyes])=[Cuadro combinado0]));

El cuadro combinado4, sería el correspondiente a la tabla con los articulos y la sentencia sería la siguiente:

SELECT Articulos.[Id articulo], Articulos.[Id cabecera], Articulos.nombre FROM Articulos WHERE (((Articulos.[Id cabecera])=[Cuadro combinado2]));

Para que te funcionen, debes de refrescar la pantalla con el evento de después de actualilzar de cada cuadro combinado.

Saludos, Pepe
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Combos en Cascada

Publicado por Rafi (71 intervenciones) el 28/09/2007 17:50:17
Te agradezco mucho la contestación tan rápida que me brindas Pepe. Voy a hacer pruebas con ello.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Combos en Cascada

Publicado por Rafi (71 intervenciones) el 28/09/2007 20:12:29
Hola Pepe, anduve probando las sentencias SQL que me decias, pero creo que algo me falta, siento por los mensajes que me dice access: El origen del Formulario no existe, etc..., que se pueda deber a que mis cuadros combinados estan en un Form independiente, es decir no tiene ninguna vinculacion con las tablas donde se encuentran los registros que quiero aparezcan en los cuadros combinados. ¿Es posible? Si es así por favor dime que le faltan a esas sentencias porque lo contrario que sería poner los registros en la tabla de mi form, no lo puedo hacer. Gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Combos en Cascada

Publicado por Pepe (766 intervenciones) el 29/09/2007 08:13:30
No tiene nada que ver, precisamente los cuadros combinados se usan para obtener un dato de otra tabla distinta de la que tenga como origen del registro el formulario.

Me explico, piensa en el tipico formulario de ventas. Tienes un formulario cuyo origen del control sería la tabla de ventas y un cuadro combinado que tiene su origen de la fila en la tabla articulos.

Lo que te puede pasar es que en los cuadros combinados, en el origen del control hayas puesto alguna cosa y como el formulario es independiente, es posible que por eso te de errores.

De todas formas, los datos que obtienes de los cuadros combinados, los querras meter en algún sitio ¿no?, o ¿para que quieres esa selección?.

Si quieres, mandame la BD y la miro. ¿vale?

Saludos, Pepe
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Combos en Cascada

Publicado por Rafi (71 intervenciones) el 29/09/2007 08:55:30
Muchas gracias por tu ofrecimiento Pepe, voy a seguir probando por eso de intentar aprender un poco y de no conseguirlo te envio la copia y le echas un ojo. Y los datos claro, quiero se colquen posteriormente en campos de mi formulario independiente como le llamamos en al post anterior, quiero usar esos combos en Cascada para seleccionar de forma automática, primero las Leyes a aplicar en un formulario-registro de infractores, en segundo lugar y dependiendo de la ley escogida anteriormente tener en el segundo combo los principios ilícitos y dependiendo de estos ya en el tercero los artículos. Bueno cuando estos datos esten en los cuadros combinados los trasladaria a los campos del Form independiente llamados [LEY APLICADA].[HECHO INFRINGIDO].[ARTÍCULO]; no se, los trasladaría con una macro Establecer Valor por ejemplo. Gracias de nuevo Pepe
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Combos en Cascada

Publicado por Pepe (766 intervenciones) el 29/09/2007 09:09:53
Hola Rafi,

Para eso es más facil que el formulario no sea independiente, si no que tenga como origen del registro la tabla donde tienes los campos [ley aplicada], [hecho infringido] y [articulo].

Luego a cada combo en el origen del control, le pones el campo correspondiente.

Recuerda que en el evento de despues de actualizar de los combos correspondientes a [ley aplicada] y [hecho infringido], debes de refrescar la pantalla. Lo puedes hacer con una macro que tenga como acción "ejecutar comando" y como comando elige "actualizar pagina".

Esto es imprescindible para que cuendo selecciones el primer combo, el segundo se quede preparado con las cabeceras como tu las llamabas, y después de actualilzar éste, para que pase lo mismo con el de los articulos.

Pepe
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar