Tengo que realizar una consulta complicada con dos tablas de la misma base de datos.

Tengo que hacer una consulta y no se como. Te explico:
Tengo 2 tablas relacionadas para saber que trabajadores realizan determinadas tareas: TAREAS y TRABAJADORES, pero como es una relación N:M he tenido que crear una tabla intermedia: TRABAJADORES_ASIGNADOS.
Bien, ahora lo que quiero, es obtener los datos de las tareas en el excel y lo hago mediante "Obtener datos externos", lo cual ejecuta una consulta con el Microsoft Query.
El problema está en que me gustaría que apareciera el nombre de todos los trabajadores al lado de cada tarea, y no que se repitiera la tarea tantas veces como trabajadores tenga. Es decir, me gustaría que apareciera esto:
Tareas trabajadores
------ ------------
Tarea1 Trab3 Trab5 Trab6
Tarea2 Trab3 Trab8
...
...
Y no esto:
Tareas trabajadores
------ ------------
Tarea1 Trab3
Tarea1 Trab5
Tarea1 Trab6
Tarea2 Trab3
Tarea2 Trab8
...
...
¿Se te ocurre como hacerlo?

6 respuestas

Respuesta
1
Creo que se lo que intentas hacer .. y con una consulta directa yo no se hacerlo, lo cual no quiere decir que no sepueda hacer, claro está...
Yo lo he hecho pero con programación, usando un procedimiento en base de datos que me recorre la query esa que no te gusta, y me convierte el resultado en una tabla temporal..
Siento no ser de más ayuda.
Pablo
Respuesta
1
¿No acabo de entenderlo... trabajas con File Maker y Excel? ¿O solo con Excel?
En el segundo caso, no te puedo ayudar, busca alguien que sepa de Excel.
Si trabajas con FileMaker, confírmamelo y volvemos a hablar.
Respuesta
1
Tenés que que hacer agrupaciones.
Select nombre_trabajador, tarea
from TRABAJADORES_ASIGNADOS a,
TAREAS t,
TRABAJADORES b
where a.empleado = t.empleado
and t.tarea = a.tarea
group by tarea
Respuesta
1
Ramón:
En primer lugar yo te recomiendo que hagas la consulta directamente en access, ya que este cuenta con un tipo de consulta que es la consulta de tabla de referencias cruzadas.
Si escoges esta opción y te dejas llevar por el asistente podrás lograr lo que estas buscando. Luego de esto si aún necesitas del excel puedes exportar la información a excel.
Si sigues con dudad escríbeme
Respuesta
1
Antes de pasar tu data al Excel... usa en access la opción de referencias cruzadas, esa opción te da la posibilidad de hacer lo que me pintas en tu cuadro... luego me comentas.
Lo hice, pero hay más de 100 trabajadores y cada tarea solo la realizan 4 o 5 como mucho, por lo que la visualización de los datos es algo difícil
Lo ideal seria que NO pusiera los nombres de trabajadores como titulo y luego un 1 a aquellos que estén en una tarea, sino que en el titulo apareciera así:
Tarea trabajador1 trabajador2 trabajador3 ...
Y debajo, en los datos, que el trabajador1 sea el nombre del primer trabajador asignado, el trabajador2 el segundo, etc.
Ejemplo
TAREA TRABAJADOR1 TRABAJADOR2 TRABAJDAOR3
pintar Juan Gomez Luis Perez
rellenar Jose Portillo
repasar Alberto Jimenez Rosa Ruiz Cristina Sanchez
etc.
Hay algun modo de hacerlo?
Gracias.
Entonces lo que necesitas es hacerlo mediante programación VB con access.. define una tabla y la puedes manejar mediante programa... es la única manera...
Respuesta
1
Esto te sale en la consulta o el reporte, de ser en el reporte solo tienes que agruparlo por el campo que deseas y definirlo en el encabezado, de ser consulta solo tendrías que definirlo como registros únicos y listo.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas