Tengo una BD que registra fechas (tabla Jornades) y cada fecha puede tener varias tareas (tabla Tasques) de X horas de duración cada una. Cada tarea pertenece a un trabajo concreto (tabla Treballs). En esa tercera tabla, Treballs, tengo un campo binario para determinar si está facturado o no.
Hasta aquí todo bien. Tengo un formulario llamado Jornades para navegar entre todas las fechas, y este formulario tiene un subformulario con las tareas asignadas a cada formulario, y me funciona perfecto.
Esquema (sólo importan las tablas azul, verde y roja):
Sin embargo, ahora quiero hacer el mismo formulario pero mostrando/filtrando únicamente las fechas y las tareas de los trabajos sin facturar. (Esto será muy útil para dejar en el olvido los trabajos ya facturados y centrarme en los activos).
En el formulario principal (Jornades), pongo esta orden SQL:
Código: Seleccionar todo
SELECT
"Jornades"."IDJornada",
"Jornades"."Jornada",
"Tasques"."IDTasca",
"Treballs"."Facturat"
FROM
"Tasques", "Jornades", "Treballs"
WHERE
"Tasques"."ID_Jornada" = "Jornades"."IDJornada" AND "Tasques"."ID_Treball" = "Treballs"."IDTreball"
Código: Seleccionar todo
( "Treballs"."Facturat" = FALSE )
Todo esto me funciona parcialmente, ya que los campos de las jornadas aparecen repetidos por tantas tareas tengan cada jornada. Y entonces no me deja añadir nuevas jornadas. ¿Cómo es posible si Jornades es la fuente principal de datos del formulario padre?
Una de dos: o no es posible hacer lo que quiero hacer, o lo estoy haciendo mal. Adjunto la BD sin datos.
Los formularios en cuestión son JornadesSenseFacturar y JornadesSenseFacturar1, ambos son intentos fallidos. Si os fijáis en la lista de jornadas, aparece el día 23 de julio repetido porque tiene dos tareas. Tendría que salir [agrupado] sólo 1 vez. Y luego está el problema de que este formulario no me permite añadir nuevas jornadas, como ya mencioné antes.
Pienso que lo que me falla es el código superior que corresponde al formulario principal (Jornades), pero no doy con la solución. ¿Por qué no funciona o cómo lo arreglo?
PD: Curiosamente, el formulario de tareas sin facturar (TasquesSenseFacturar) sí que me filtra bien y me permite añadir nuevas tareas, pero en este caso intervienen dos tablas, mientras que en el caso que me falla intervienen tres, siendo la tabla Jornades la que me lo "enreda" todo.