Ver Mensaje Individual
  #5 (permalink)  
Antiguo 10/06/2008, 05:59
quimfv
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 2 meses
Puntos: 574
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/06/2008 a las 06:13