Quería saber cómo se hace una consulta que me introduzca los datos de todas las tablas, para después hacer un informe.

Me gusta la historia y tengo recopiladas más de 3000 fichas de diferentes archivos sobre mi pueblo.

Todas ellas las tengo en una base de datos Access 2007, en diferentes tablas por archivos.

Quería saber cómo se hace una consulta que me introduzca los datos de todas las tablas, para después hacer un informe.

Para ser más exacto, mi idea es; realizar un informe que me de todo lo que paso en mi pueblo fecha por fecha…como si fuera un diario. De ahí que quiera hacer una consulta de todas las tablas unidas…

Las tablas tienen la misma estructura:

Ejemplo;

Tabla AHPZ. (Campos) Id (Auto numérico), Archivo (texto), Signatura (texto), Fecha (Fecha/hora), Resumen (memo), imprimir (sí/no)

Tabla ACAB. (Campos) Id, Archivo, Signatura, Fecha, Resumen, imprimir (sí/no)

Tabla AHNZ. (Campos) Id, Archivo, Signatura, Fecha, Resumen, imprimir (sí/no)

Etc... Etc

Me interesaría saber cómo se hace la consulta y a la vez que me introduzca u auto numérico con cada ficha, para poder encontrarlo.

2 respuestas

Respuesta
3

Puedes unir las tablas mediante una consulta de union, por ejemplo:

SELECT * FROM AHPZ
UNION
SELECT * FROM ACAB
UNION
SELECT * FROM AHNZ
UNION
...

y si no quieres todos los campos, en vez del * pones los campos que quieras...

SELECT Archivo, Signatura, Fecha FROM AHPZ
UNION
SELECT Archivo, Signatura, Fecha FROM ACAB
Union
...

Pero en este caso has de poner siempre los mismos campos en el mismo orden en todas las tablas.

Para numerar los registros, prueba con la función de Jesús Mansilla que enlaza en esta respuesta:

http://www.todoexpertos.com/preguntas/7ea6lc5hmjrvwca3/como-numerar-filas-en-una-consulta-de-access?selectedanswerid=7eaooub3nnwl6c3m&nid=9ksqlvkpfrsm9gu9hbvpphksabupdrekgbv9jvmrh8n99gu99om6nfb 

Un saludo,


Hola muchísimas gracias...estoy probando y me dice al ejecutarla "instrucción SQL no valida; se esperaba DELETE...SELECT... que solución hay...

gracias.

Eso me suena a que estás escribeindo mal la SQL, Ponla aquí para que podamos verla y decirte.

Por curiosidad: ¿no habrás puesto los ... finales, no? Porque eran para indicarte que así tenías que seguir con el resto de tablas...

SELECT * FROM tabla-actas

UNION

SELECT * FROM Tabla-principal-Archivo del Pilar

El error lo tienes en que usas nombre de las tablas no "estandarizados", es decir, sin espacios en blanco, signos...

En tu caso, esos nombres (y los de los campos si también los tienes así) has de ponerlos entre corchetes:

SELECT * FROM [tabla-actas]

UNION

SELECT * FROM [Tabla-principal-Archivo del Pilar]

Así te tendría que funcionar la consulta.

Un saludo,


¡Gracias! 

no sabes las gracias que te doy....parece que va a funcionar...ahora a trabajar un rato.

Muchísimas gracias desde Zaragoza.

Isidro

Respuesta
1

Aparte de la respuesta aportada por Diego, yo me plantearía modificar el diseño de la BD.

Yo tendría una única tabla con los campos:

- Id, Tipo, Archivo, Signatura, Fecha, Resumen, imprimir (sí/no)

Teniendo una tabla de Tipos cuyos valores fueran:

- AHPZ, ACAB, AHNZ, ...

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas