Consulta con líneas vacías a partir de 2 tablas, todos los registros de una y los de la otra donde coincidan
Desde ya muchas gracias a todos por su atención. Mi nombre es Sergio y esta es mi primera publicación en este foro.
Estoy diseñando una base para un Centro Cultural. Son 6 salas donde se dictan talleres o cursos (por ejemplo de yoga o pintura o tango) estas actividades se repiten semanalmente (por ejemplo todos los lunes de 16 a 18 hs se da tango en la sala E)
Necesito generar un listado de cada sala y día de la semana donde me muestre "lo más gráficamente posible" en que horarios está ya programada alguna actividad y que horarios están "disponibles" O sea, automatizar lo que hasta ahora se hace manualmente: en una hoja para cada sala se hace un cuadro donde las columnas son los días y las filas las horas, en donde corresponde se anota el nombre de la actividad y en los horarios que todavía no hay nada se deja en blanco.
A tal fin tengo Tabla "Salas" con el nombre de cada una se las salas/aulas. Tabla "Dias" con el nombre de los días de la semana que generé yo manualmente Tabla "Horas" donde también manualmente y en formato texto (sino no me lo tomaba el asistentHola Desde ya muchas gracias a todos por su atención. Mi nombre es Sergio y esta es mi primera publicación en este foro.
Estoy diseñando una base para un Centro Cultural. Son 6 salas donde se dictan talleres o cursos (por ejemplo de yoga o pintura o tango) estas actividades se repiten semanalmente (por ejemplo todos los lunes de 16 a 18 hs se da tango en la sala E)
Necesito generar un listado de cada sala y día de la semana donde me muestre "lo más gráficamente posible" en que horarios está ya programada alguna actividad y que horarios están "disponibles" O sea, automatizar lo que hasta ahora se hace manualmente: en una hoja para cada sala se hace un cuadro donde las columnas son los días y las filas las horas, en donde corresponde se anota el nombre de la actividad y en los horarios que todavía no hay nada se deja en blanco.
A tal fin tengo Tabla "Salas" con el nombre de cada una se las salas/aulas. Tabla "Dias" con el nombre de los días de la semana que generé yo manualmente Tabla "Horas" donde también manualmente y en formato texto (sino no me lo tomaba el asistente de búsqueda) tengo un listado de las horas que está abierto el centro cultural. Finalmente en la tabla "Talleres" vinculo toda esa info con cada taller: Nombre del taller, sala, días, hora de inicio y hora de fin (no todos duran lo mismo)
Genero primero una consulta de selección que me da todas las combinaciones posible de sala día y hora.
Después tomando como base esa consulta genero otra que la combina con la tabla talleres de la siguiente forma.
Relaciono el campo Sala y el campo día con Tipo de combinación: mostrar todos los registros de la consulta (Salas o días) y solo los registros coincidentes de la tabla talleres
Ahora bien, si agrego una combinación igual para el campo "hora" me muestra solamente los horarios donde si hay un taller y no los disponibles, además de que no puedo tener en cuenta hora de inicio y hora de fin, solo una de las dos. Si intento poner otro tipo de combinación para Hora me da error.
Entonces: genero un campo calculado en donde si el valor de "Hora" está entre el horario de inicio y el horario de fin devuelve el nombre del taller y si no un valor nula (mediante la función SiInm
El problema es que encada día me repite cada horario tantas veces como talleres hay ese día en esa sala. Por ejemplo, si en la sala A hay tango de 10 a 12 y Salsa de 14 a 18 me muestra cada línea de ese días 2 veces:
Sala A a las 10 - Tango
Sala A a las 10 - Vacío
Sala A a las 11 - Tango
Sala A a las 11 Vacío
Sala A a las 12 Vacío
Sala A a las 12 Vacío
...
Sala A a las 14 Salsa
Sala A a las 14 vacío
etc...
Entiendo que hace esto por que al no haber especificado ningún tipo de relación/combinación entre Horas y Talleres me los combina todos con todos. Es decir si hay dos registros de talleres que cumplen la condición de Sala y día me combina cada uno de los dos registros de talleres con todos los registros de horas, por más que no me muestre el nombre por el campo calculado.
Espero haber sido claro en la exposición, disculpen la extensión pero no se explicarlo más puntualmente, me falta quizá más terminología técnica.
Capaz que encaré esto mal desde un principio y tengo que agarrar desde cero con otro método, no se, así que acepto ese tipo de sugerencias también
Mi pedido es obviamente como lograr que cada horario me salga una sola vez.
Desde ya muchas gracias a todos, Saludos, Sergio.