Access - Origen de la fila de Cuadro Combinado en Formulario Continuo

 
Vista:

Origen de la fila de Cuadro Combinado en Formulario Continuo

Publicado por JM (5 intervenciones) el 28/12/2019 22:43:48
ACCESS-2013.
Hola Amigos, a ver si me podéis ayudar. Me voy a extender un poco para intentar ser lo más claro posible.

Tengo varias tablas relacionadas, 3 de ellas son GÉNERO, PELÍCULA y ACTORES

Por ejemplo en GÉNERO podría tener Guerra, Comedia, Terror, etc.., En PELÍCULA: Guerra1, Guerra2, Guerra3, etc. (que son Películas de Guerra), Comedia1, Comedia2, Comedia3, etc. (Películas cómicas) y Terror1, Terror2, Terror3 (que son Películas de Terror) y cada una de estas PELÍCULAS están RELACIONADAS con el GÉNERO que le corresponde y finalmente los datos de los ACTORES.

Esto que diré a continuación, lo tengo hecho en un formulario normal para la entada y visualización de datos y funciona perfectamente con controles independientes, que una vez actualizados almacenan la información en el campo que corresponde, pero quiero hacerlo también en un FORMULARIO CONTINUO donde presento la información de los ACTORES, obtenida de una consulta, para que se vea en formato similar a una tabla y con todo ordenado para que sea fácil de modificar.

Los dos primeros campos del FORMULARIO CONTINUO son GÉNERO Y PELÍCULA (cuadros combinados), y luego vienen los datos de los ACTORES, si no hay modificaciones, la información presentada (origen del campo) es el mismo valor almacenado en las tablas, HASTA AHÍ TODO BIEN...

Pero si quiero hacer una modificación en el CUADRO COMBINADO PELÍCULA, quiero que LAS PELÍCULAS mostradas en este Cuadro Combinado sean las relacionadas con el GÉNERO que corresponde, es decir, que si en el cuadro combinado GÉNERO tengo Terror, que el cuadro combinado PELÍCULA, filtre los datos y sólo me permita elegir entre las películas de terror: Terror1, Terror2 y Terror3, en otras palabras, el cuadro combinado PELÍCULA depende del valor del Cuadro combinado GÉNERO.

Recordando que esto es en un FORMULARIO CONTINUO, si los datos para el CUADRO COMBINADO PELÍCULAS (Origen de la Fila) lo hago con controles independientes, a través de VBA (Después de Actualizar el Cuadro Combinado GENERO o Form_Current) o consultas que filtran el Origen de la Fila a partir del valor del Cuadro Combinado GÉNERO en el FORMULARIO, la información se repite para cada registro o se borra para los géneros distintos del seleccionado y si el origen de la fila lo obtengo directamente de la tabla PELÍCULA (el campo Película), obviamente muestra TODAS las películas de todos los géneros, cosa que no quiero que haga.

Alguna solución, alternativa o experiencia al respecto...?
Gracias a todos...!
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

Origen de la fila de Cuadro Combinado en Formulario Continuo

Publicado por Anonimo (3312 intervenciones) el 28/12/2019 23:27:11
Un formulario continuo no funciona igual que una hoja de Excel (por comparar con un referente mas o menos conocido)

En Access el único registro 'real' que existe en un formulario continuo es el activo, el resto … ilusión óptica, por ello comparten (todos los registros de ese formulario) los objetos independientes y (como el caso actual) los combos como colección de valores.

Si se limita 'el contenido' del objeto combo filtrando por valores del registro actual, todos aquellos registros que no pertenezcan al conjunto dejaran de ser visibles (no existen en el origen de datos).

Lo adecuado es 'edita' el registro', abriendo un formulario independiente con ese único registro y en el, si se podrá filtrar por familia o lo que sea adecuado para conseguir esa estética deseada.

Los objetos -del formulario continuo- que se compartan (todos aquellos que puedan presentar diferentes valores) como los combos y cuadros de lista, no deberían ser filtrados para permitirle a Access mostrar el valor correcto y guardado en el registro (uno solo: no el combo que es un simple expositor/selectort de posibles valores)
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
Imágen de perfil de Jhonattan
Val: 308
Bronce
Ha mantenido su posición en Access (en relación al último mes)
Gráfica de Access

Origen de la fila de Cuadro Combinado en Formulario Continuo

Publicado por Jhonattan (123 intervenciones) el 29/12/2019 15:34:58
Si quieres pasame el ejemplo y te ayudo con lo que necesitas, este es mi correo: [email protected]
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
sin imagen de perfil
Val: 57
Ha disminuido 1 puesto en Access (en relación al último mes)
Gráfica de Access

Origen de la fila de Cuadro Combinado en Formulario Continuo

Publicado por Pedro Vicente (24 intervenciones) el 29/12/2019 18:36:25
Hola, como ya te han comentado, sería más práctico colocar los combos de selección en un primer formulario, Por darte ideas, asumamos que el campo de la tabla película relacionado con la tabla genero se llama "nombregenero" y contiene el género de que se trata, que el campo de la tabla actores relacionado con la tabla película se llama "titulo" y contiene el titulo de la pelicula. Puedes hacer un formulario con dos combos, en el primero seleccionas los distintos géneros que tienes en película poniendo en origen de datos del combo (pongamos que se llama cbogenero)

SELECT DISTINCT nombregenero FROM película

Y tenemos el desplegable con los distintos géneros. En el origen de datos del segundo (cbopelicula) seleccionamos las películas de ese genero:

SELECT titulo FROM película WHERE (((pelicula.nombregenero)=[Formularios]![nombreformulario]![cbogenero]))

Y en el evento "después de actualizar" de este segundo abrimos el formulario con los datos que queremos de los actores de esa película:

DoCmd.OpenForm "detalleactores"

En este formulario deberás haber seleccionado los datos que quieras ver, haciendo coincidir el campo titulo con el segundo combo:

SELECT nombre1, nombre2, nombre3
FROM actores
WHERE (((actores.titulo)=[Formularios]![nombreformulario]![cbopelicula])

A partir de aquí ya es cuestión de echarle imaginación, que sé yo, que no te active el segundo combo hasta que no completes el primero, si seleccionas campos de varias tablas adaptar la SQL, (p.e. si quieres que aparezca el género), etc.

A ver si te sirve, saludosss
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

Origen de la fila de Cuadro Combinado en Formulario Continuo

Publicado por JM (5 intervenciones) el 29/12/2019 20:30:19
Muchas gracias por la respuesta..!!
Ya está solucionado.
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

Origen de la fila de Cuadro Combinado en Formulario Continuo

Publicado por JM (5 intervenciones) el 29/12/2019 20:34:16
Muchas gracias por el ofrecimiento..!!
Ya está solucionado.
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

Origen de la fila de Cuadro Combinado en Formulario Continuo

Publicado por JM (5 intervenciones) el 29/12/2019 22:09:23
Gracias a TODOS por vuestras respuestas...!

Hasta donde alcanzan mis conocimientos sabía que no se podía, pero siempre existe alguna solución diferente, por eso quedé enganchado y dando vueltas al asunto, buscando la cuadratura del círculo y esperando leer o encontrar alguna respuesta de alguna opción desconocida para mi u otro método diferente (que no dudo que exista), pero por lo visto hasta el momento, no hay, por eso explicaré mi solución, por si a alguien más le sirve:

Los cuadros combinados se transformaron en cuadros de texto no Habilitados (no editables) que muestran los valores del Género y Película. Obviamente introduje otro formulario en la ecuación (Formulario continuo, modal y emergente) para la selección del Género y Película. Con doble click sobre alguno de los Ex-Cuadros combinados, se abre este formulario para la selección de ambos valores.
En una única columna (sólo un cuadro de texto) muestra el Género (que viene del formulario anterior) con sus respectivas Películas...

Género 1 - Peli 1
Género 1 - Peli 2
Género 1 - Peli 3
Genero 2 - Peli A
Genero 2 - Peli B
etc...

En forma predeterminada muestra las películas para el Genero del formulario principal, pero también tiene un botón para mostrar Todos los Géneros y las Películas que contiene cada uno, sólo es necesario cambiar el RecordSource del Formulario. De la misma manera, en el pié de página hay un cuadro combinado (independiente) que permite selécionar el Género. Esto simplemente para acortar y acotar la cantidad de registros aunque no es imprescindible

Con doble click, en cualquier fila de este formulario Modal (que posee todas las Películas de cada Género) en forma automática se pasan estos valores a los campos GÉNERO Y PELÍCULA del formulario principal.

Doble click para la edición y doble click para la selección, y considerando que se editan y seleccionan 2 campos a la vez, en forma simultánea, es muy rápido. A decir verdad, quedó más rápido y estético que la solución original que buscaba, puesto que nunca se verán todas las combinaciones a través de 2 cuadros combinados, siempre es necesario selecionar uno para ver que hay en el interior del otro, por lo mismo es menos visible y más difícil de manejar debido al tamaño y método de selección inherente a los cuadros combinados (scroll peqeño, etc.)

Sin embargo, si alguien sabe como resolver el problema original, se agradece para futuras situaciones similares.

Gracias por vuestras respuestas y espero que mi solución sirva a alguien más.

Un abrazo..!!
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
sin imagen de perfil

Origen de la fila de Cuadro Combinado en Formulario Continuo

Publicado por David Campos (1 intervención) el 02/11/2021 20:28:42
Muy buenos dias y disculpe que realice esta pregunta por este medio. es que realmente necesito ayuda.


Mi situación es la siguiente no soy muy diestro en Access, pero si conozco y lo trabajo un poquito, estoy haciendo un formulario el cual está relacionado con 3 tablas (GENERAL, PRODUCTOS Y PROVEEDORES), y mi intención es que en el formulario poder usar un cuadro combinado para PROVEEDORES y otros para PRODUCTOS. yo logro visualizar y tener el efecto que quiero en el formulario, pero al llenarlo la información no se visualiza en la tabla GENERAL.

pd/ mis conocimientos en access son limitados y lo que conozco ha sido de forma empirica.
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