Hacer un formulario para filtrar info de varias tablas

Tengo una base de datos, ésta se divide por varias tablas que tienen elementos en común. Me gustaría hacer un formulario en el cuál al elegir uno de esos elementos me muestre los que coincidan, pero de todas las tablas.
Por ejemplo; mis tablas son: Teatro, Música y Danza; y sus elementos en común son: género y tipo de público.
Lo que requiero es que al escoger algún tipo de género, por ejemplo "Contemporáneo" me muestre todos los de música, los de danza y los de teatro que sean de este género.
Ojalá puedan ayudarme, ya que no se ni por donde comenzar!

1 respuesta

Respuesta
1
Para empezar agrégate en cada tabla un campo de texto (Tipo) que identifique a qué tabla pertenece el registro y de valor predeterminado le ponés el nombre de la tabla, ej: Teatro.
A continuación unís las tablas con una consulta de unión:
Creás una consulta en vista de diseño (sin agregar ninguna tabla ni nada), en la barra de diseño de la consulta hacés clic donde dice SQL y escribís la instrucción de esta manera:
------------------------------------------------------------------------------
SELECT [Tipo], [Género], [Tipo de público], [Otro Campo]
FROM [Teatro]
UNION SELECT [Tipo], [Género], [Tipo de público], [Otro Campo]
FROM [Música]
ORDER BY [OrdenCampo];
UNION SELECT [Tipo], [Género], [Tipo de público], [Otro Campo]
FROM [Danza]
ORDER BY [OrdenCampo];
----------------------------------------------------------------------------------
Aclaraciones:
OrdenCampo: El nombre del campo por el que querés que se ordene la sección.
La consulta te va a unir las tablas por medio de los campos que tengan el mismo orden dentro de la instrucción (sin importar el nombre del campo, pero sí el formato). En cada sección debe haber la misma cantidad de campos. Así que si por ejemplo en la tabla Música tenés un campo Década que no existe en las otras tablas y querés agregarlo a la instrucción, vas a tener que crearlo para cada tabla, aunque después quede con valor nulo en todos los registros.
------------------------------------------------------------------------------------
Saludos y suerte!
Hola de nuevo!
Primero que nada gracias por tu respuesta. Ya hice lo que me explicaste, ya tengo la consulta, lo que pasa es que solo me deja buscar por uno de los datos y pues lo que yo quiero es un formulario en el cual pueda tener todos los criterios de búsqueda que comparten.
Encontré un código donde al escribir por palabra me lo busca en toda la tabla, pero lo que necesito es que los busque en todas mi tablas. Al igual que al seleccionar Género "Clásico" me lo busque en todas las tablas y me de la información que necesito.
Estaba pensando hacer un formulario que me deje escoger los criterios en común de todas mis tablas, en combo box y también agregar un text box en el cual pueda escribir la palabra para buscarla en todas mis tablas. La cosa es que no se qué código ponerle.
Gracias!
Ok, si ya tenés la consulta de Union, vas bien... no desesperes, je je.
Lo siguiente sería hacer el formulario de búsqueda. En la parte superior por ejemplo, lleva los combo y los txtbox, para filtrar la información. Y debajo un subformulario con origen de registro en la consulta de union, donde se entregarán los resultados. Para el tema del filtrado tengo preparado un ejemplo copado, que ilustra dos métodos distintos de lograrlo. Dejame tu dir de correo así te lo paso.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas