Perdon por exceso de confianza use +1 para agregar un dia a una fecha,
ERROR, usa lo siguiente
DateAdd("d",1,[Qué día?])
Tu solucion no te da problemas pero
"creo" que te dara partes nocturnos que no corresponden a la jornada laboral elegida, quizas ya te va bien...
Pero tines razon mi solucion incial se puede simplificar....
Código:
SELECT PartesDeTrabajo.nparte,
PartesDeTrabajo.CodigoOperario,
operario2.nombre,
PartesDeTrabajo.fecha,
PartesDeTrabajo.obra,
PartesDeTrabajo.actividad,
PartesDeTrabajo.subactividad,
PartesDeTrabajo.horas,
PartesDeTrabajo.horainicio,
PartesDeTrabajo.horafinal,
PartesDeTrabajo.mañana,
PartesDeTrabajo.tarde,
PartesDeTrabajo.noche,
PartesDeTrabajo.festivo
FROM PartesDeTrabajo INNER JOIN operario2
ON PartesDeTrabajo.CodigoOperario = operario2.CodigoOperario
WHERE (PartesDeTrabajo.noche=false
and PartesDeTrabajo.fecha=[Qué día?])
or (PartesDeTrabajo.noche=true
and ((PartesDeTrabajo.fecha=[Qué día?]
and PartesDeTrabajo.horainicio>#12/31/1899 22:0:0#)
or (PartesDeTrabajo.fecha= DateAdd("d",1,[Qué día?]))
and PartesDeTrabajo.horainicio<#12/31/1899 7:0:0#))
ORDER BY operario2.nombre, PartesDeTrabajo.fecha, PartesDeTrabajo.horainicio;
(Ojo con los parentesis)
De esta forma te deberia dar los partes del dia elegido de los turnos NO nocturnos y los partes del turno de noche que
empieza en el dia elegido.... creo
Suerte...
Quim