Valor de un campo automáticamente en función del valor de otro campo

Dudas sobre Tablas, Consultas, Formularios, Informes...
manue1889
Nivel 1
Mensajes: 6
Registrado: Lun Mar 11, 2019 2:19 pm

Valor de un campo automáticamente en función del valor de otro campo

Mensajepor manue1889 » Lun Mar 11, 2019 10:28 pm

Buenas. En primer lugar mi Access es 2007.
Tengo una base de datos para el control de mis mas de 3000 películas de mis discos duros.
Tengo creadas varias tablas con sus correspondientes formularios (películas, actores, director y género). En el formulario de la tabla "películas" es donde integro el título, la duración, el genero, los actores (7 campos para los distintos actores), el director, la música e incluso un "objeto OLE" con la caratula de la película.
Tiene relaciones con las otras tablas de actores, director y género.
En la tabla "actores" están los nombres y un "objeto OLE" con su "foto".
Lo que quiero es que al integrar en el formulario de "películas" el nombre de un actor, automáticamente me salga su foto.
He intentado editando el formulario de "películas" y agregando un campo existente (en este caso el campo "foto" de la tabla "actores").
Como tengo 7 campos de "nombre actor", me sale para seleccionar la relación del campo "nombre actor" de la tabla "actores" con el "nombre actor" 1,2,3,4,5,6, o 7 de la tabla "películas"; como es el primero, selecciono "nombre actor" 1 y efectivamente me lo realiza y me añade a foto.
Pero cuando realizo la misma operación para el "nombre actor" 2, ya no me pregunta por la relación y me repite la misma foto del actor 1.
En resumen: ¿Cómo hago para que automáticamente me salga la foto del actor al integrar su nombre?
Para finalizar, pediros perdón porque soy nuevo en el foro y es mi primer mensaje. Disculpad si he hecho algo incorrecto. Gracias.

Avatar de Usuario
Sveinbjorn
Moderador
Mensajes: 1061
Registrado: Sab Oct 24, 2015 10:12 pm

Re: Valor de un campo automáticamente en función del valor de otro campo

Mensajepor Sveinbjorn » Mié Mar 13, 2019 10:35 am

Partiendo de que no soy partidario de los campos OLE (y como no los uso nunca, conozco su funcionamiento y manejo más bien poco), si creas una consulta con la tabla Películas, añades a esa consulta 7 veces la tabla Actores y relacionas cada una de ellas con un campo actorX de películas, al hacer el formulario sobre esa consulta y elegir un actor, te saldrá automáticamente el objeto OLE asociado a él.

Te dejo este mini-ejemplo hecho a lo rápido para que veas la estructura de la consulta y cómo funciona el formulario (aunque no he logrado que se vea la imagen como tal, sino solo como icono)

A ver si te sirve.

Un saludo
Sveinbjorn El Rojo

manue1889
Nivel 1
Mensajes: 6
Registrado: Lun Mar 11, 2019 2:19 pm

Re: Valor de un campo automáticamente en función del valor de otro campo

Mensajepor manue1889 » Jue Mar 14, 2019 10:28 pm

Gracias por tu ayuda.
He conseguido crear la consulta y efectivamente al crear el formulario de la consulta me salen las fotos de los actores.
Pero... solo me salen 18 registros de los 2168 existentes en la base de datos.
¿Tengo que volver a introducir todos los datos? Espero que no. Supongo que habrá algún forma de actualizar, exportar o algo así los registros.
Gracias de nuevo por tu gran ayuda.

manue1889
Nivel 1
Mensajes: 6
Registrado: Lun Mar 11, 2019 2:19 pm

Re: Valor de un campo automáticamente en función del valor de otro campo

Mensajepor manue1889 » Vie Mar 15, 2019 12:19 am

Buenas de nuevo:
Ya se porque me salen solo 18 registros; es porque solo hay 18 películas que tienen ocupado todos los campos de los actores (los 7 campos).
De aquellas películas que solo tengo informado algunos actores o ninguno las ha desechado y solo me figuran aquellas películas con los 7 campos rellenos.
¿Alguna solución? Supongo que será en el diseño de las propiedades de los campos.
Gracias de nuevo.

Avatar de Usuario
Sveinbjorn
Moderador
Mensajes: 1061
Registrado: Sab Oct 24, 2015 10:12 pm

Re: Valor de un campo automáticamente en función del valor de otro campo

Mensajepor Sveinbjorn » Vie Mar 15, 2019 10:01 am

Vale, creo que ya sé dónde está el problema: tienes que modificar ligeramente el diseño de la consulta. Te explico cómo:

1º/ Abre tu consulta en vista diseño.
2º/ En la linea de la relación que une tu tabla películas con la primera "copia" de la tabla actores (la que va al campo actor1), haz clic derecho para sacar las propiedades de la relación.
3º/ Escoge la opción que ponga algo como: "Incluir TODOS los registros de 'películas' y solo aquellos registros de 'actores' donde los campos combinados sean iguales"
4º/ Si lo has hecho bien, verás que la linea de la relación cambia a una flecha que va de la tabla películas a la de actores.
5º/ Repite lo mismo con el resto de relaciones y ya te debiera mostrar todos los registros de tu tabla.

En el ejemplo que te envié, quedaría así:
Relaciones nuevas.png
Sveinbjorn El Rojo

manue1889
Nivel 1
Mensajes: 6
Registrado: Lun Mar 11, 2019 2:19 pm

Re: Valor de un campo automáticamente en función del valor de otro campo

Mensajepor manue1889 » Sab Mar 16, 2019 8:31 pm

¡BRAVOOOO!
Eres grande Sveinbjorn. Salió todo perfecto.
Muchísimas gracias por ayudarme con tu gran trabajo.
Saludos,

Avatar de Usuario
Paupou10
Nivel 1
Mensajes: 5
Registrado: Mié Ene 02, 2019 8:36 pm

Re: Valor de un campo automáticamente en función del valor de otro campo

Mensajepor Paupou10 » Mié Mar 20, 2019 1:08 am

@Sveinbjorn
muchas gracias por la información, me sirvió mucho.
Administradora de Sistemas | Lic. de Informática - UNAM :D | Actualmente trabajando en renta de minibodegas ;) | Me gusta la programación y la tecnología. :D


Volver a “Objetos Access”

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado