Filtrar registros de un frm con datos de otro frm

Tengo un problema con mi base de datos: H organizado todas mis películas en DVD's con un número para cada uno, en un formulario tengo el número de DVD y las películas que contiene y en otro formulario tengo las películas con sus datos, resumen, caratula y nº de DVD en el que se encuentra. Lo que quiero es que mediante un botón en el formulario de los DVD's se me abra el formulario de las películas y me filtre sólo las del DVD que estaba viendo en el otro formulario.

1 respuesta

Respuesta
1
Antes de darte una respuesta completa dime si estas usando una misma tabla o son tablas diferentes las que estas utilizando. Por lo pronto te puedo decir que:
Lo que tienes que hacer es basar el segundo formulario en una consulta en donde le pongas como criterio el nombre del campo del del formulario principal donde estas poniendo el número; verás que de ese modo únicamente se mostrarán los registros del número relacionado.
Espero que te sirva la respuesta de lo contrario dame más información respecto a la tabla o tablas que estas utilizando para saber si necesitas crear alguna relación.
Tengo 2 tablas:
* tbl_dvd:
- n_dvd (texto)
- pelicula1 (cuadro combinado con la lista de películas ordenadas alfabéticamente)
- pelicula2
- ...
- pelicula6
* tbl_peliculas:
- Peli (texto)
- N_dvd (texto)
- ... (el resto no tienen relevancia)
------------------------------------------------------------------------
He realizado la consulta que me has dicho introduciendo los campos N_dvd (tbl_peliculas) y Peli (tbl_peliculas). En criterios de N_dvd e puesto "n_dvd" (tbl_dvd), pero no me aparece nada, sin embargo, si en vez de poner esto escribo un nº cualquiera, entonces si que me aparecen las películas del DVD en cuestión. Pero lo que pretendo yo es que pueda filtrármelas al hacer click en un botón situado en el frm_dvd (origen de datos tbl_dvd) y dependiendo del nº de DVD que esté visualizando en ese momento en el formulario
Ok mira espero que te pueda servir la siguiente información:
1. Lo que estas planteando tiene que ver también con la estructura de tus tablas, esto quiere decir que tienes que crear una relación entre ellas para que a partir de la tabla de dvd se puedan agregar o eliminar registros tomando en consideración un campo llave.
Para hacer esto tienes que agregar en tbl_peliculas, en vista de diseño, un capo que se llame IDtbl_dvd y le asignar tipo de dato numérico y requerido en "si"
2. Después de lo anterior abre la tbl_dvd y asegúrante que este marcado el campo id autonumérico como clave principal, lo notrás porque aparece un ícono de llavecita al lado izquierdo del campo.
3 Vamos a crear una relación entre ambas tablas para esto da clic en la barra de herramientas en relaciones. Te pedirá que agregues las tablas en el cuadro de diálogo y agrega tanto tbl_dvd y tbl_peliculas, notarás que te pone las dos tablas con los nombres de los campos de cada una de ellas.
Para crear la relación de la tbl_dvd selecciona el campo ID y arrástralo al campo IDtbl_dvd de la tabla de tbl_películas. Entonces te saldrá una cuadro de diálogo en el que deberás marcar las casillas de "exigir integridad referencial" "actualizar en cascada los campos relacionados" y la última es opcional según lo que tu decidas, respecto si al eliminar un registro de la tbl_dvd también quieras que se elimine el registro de tbl_peliculas, tu decides.
4. Ahora bien no se cuantos registro actualmente tengas en ambas tablas pero de aquí en adelante todo lo que captures en tbl_películas automáticamente requerirá de el número id de la tbl_dvd e lo contrario no se dará de alta y te saldrá el mensaje de que "requiere integidad referencial" considero que es importante hacer esto para evitar que tus registros de películas queden volando y siempre necesiten estar incorpoaradas a un dvd que sea existente.
5. Espero que no tengas muchos registros de dvd capturados, de lo contrario el siguiente paso te podría ser un poco tedioso pero tendrás que capturar manualmente el campo IDtbl_dvd de tu tbl_películas haciendo que de este modo se identifique cada peli a su dvd. Para los registros nuevos ya no será necesario.
6. Ahora bien al formulario donde se encuentran los registros de la películas en vista de diseño, propiedades -> Datos -> Origen del Registro has la consulta a la tbl_peliculas y agrégale nuevo campo IDtbl_dvd y a ese campo en cuyo criterior le podrás:
[Formularios]![tbl_dvd]![id]
Con lo anterior te filtrará las películas de ese dvd
7. Adicionalmente para el caso que agregues un nuevo dvd y las películas quedes relacionadas en el formulario de películas, propiedades -> Datos -> Eventos -> Después de insertar, en el botón [...] escoge Generador de código y escribe lo siguiente
IDtbl_dvd = Forms![Nombre de fórmulario de dvd]!id
Con ello quedarán relacionados los registros de polículas con sus dvd
Bueno hasta aquí me quedo y dime tus avances te dejo mi correo [email protected]

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas