Ver Mensaje Individual
Antiguo 10-jun-2008, 06:59   #5 (permalink)
quimfv
quimfv tiene algunos puntos positivos de karma
 
Fecha de Ingreso: marzo-2008
Mensajes: 503
Respuesta: consulta access

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

Última edición por quimfv; 10-jun-2008 a las 07:13.
quimfv está desconectado   Responder Citando