Ver Mensaje Individual
  #23 (permalink)  
Antiguo 19/06/2008, 03:03
Avatar de Koudelka
Koudelka
 
Fecha de Ingreso: febrero-2008
Mensajes: 397
Antigüedad: 16 años, 10 meses
Puntos: 1
Respuesta: consulta access

He conseguido arreglarla un poco

SELECT PartesDeTrabajo.nparte, PartesDeTrabajo.CodigoOperario, operario2.nombre, PartesDeTrabajo.fecha, PartesDeTrabajo.obra, PartesDeTrabajo.actividad, PartesDeTrabajo.subactividad, PartesDeTrabajo.horas, PartesDeTrabajo.horainicio, PartesDeTrabajo.horafinal, TimeValue([horainicio]) AS Expr1, TimeValue([horafinal]) AS Expr2, PartesDeTrabajo.mañana, PartesDeTrabajo.tarde, PartesDeTrabajo.noche, PartesDeTrabajo.sabado, PartesDeTrabajo.festivo
FROM operario2 INNER JOIN PartesDeTrabajo ON operario2.CodigoOperario = PartesDeTrabajo.CodigoOperario
WHERE (((PartesDeTrabajo.fecha)=[Qué día?])) OR (((PartesDeTrabajo.fecha)=[Qué día?]) AND ((TimeValue([horainicio]))>TimeValue(#12/30/1899 22:0:0#)) AND ((PartesDeTrabajo.noche)=True)) OR (((PartesDeTrabajo.fecha)=DateAdd("d",1,[Qué día?])) AND ((TimeValue([horainicio]))<TimeValue(#12/30/1899 7:0:0#)) AND ((PartesDeTrabajo.noche)=True))
ORDER BY operario2.nombre, PartesDeTrabajo.fecha, TimeValue([horainicio]);


El problema es que he tenido que quitar en la primera línea del where que noche esté como falso, ya que si lo pongo no me salen los registros que tienen que salir, pero si lo dejo tal y como lo tengo, en los registros del propio día hay registros de noche que quizá no tienen que salir.

Bueno, al final lo he arreglado añadiendo una cosa más a la condición where

SELECT PartesDeTrabajo.nparte, PartesDeTrabajo.CodigoOperario, operario2.nombre, PartesDeTrabajo.fecha, PartesDeTrabajo.obra, PartesDeTrabajo.actividad, PartesDeTrabajo.subactividad, PartesDeTrabajo.horas, PartesDeTrabajo.horainicio, PartesDeTrabajo.horafinal, TimeValue([horainicio]) AS Expr1, TimeValue([horafinal]) AS Expr2, PartesDeTrabajo.mañana, PartesDeTrabajo.tarde, PartesDeTrabajo.noche, PartesDeTrabajo.sabado, PartesDeTrabajo.festivo
FROM operario2 INNER JOIN PartesDeTrabajo ON operario2.CodigoOperario = PartesDeTrabajo.CodigoOperario
WHERE (((PartesDeTrabajo.fecha)=[Qué día?]) AND ((TimeValue([horainicio]))>TimeValue(#12/30/1899 6:0:0#)) AND ((PartesDeTrabajo.mañana)=True)) OR (((PartesDeTrabajo.fecha)=[Qué día?]) AND ((TimeValue([horainicio]))>TimeValue(#12/30/1899 6:0:0#)) AND ((PartesDeTrabajo.tarde)=True)) OR (((PartesDeTrabajo.fecha)=[Qué día?]) AND ((TimeValue([horainicio]))>TimeValue(#12/30/1899 21:0:0#)) AND ((PartesDeTrabajo.noche)=True)) OR (((PartesDeTrabajo.fecha)=DateAdd("d",1,[Qué día?])) AND ((TimeValue([horainicio]))<TimeValue(#12/30/1899 7:0:0#)) AND ((PartesDeTrabajo.noche)=True))
ORDER BY operario2.nombre, PartesDeTrabajo.fecha, TimeValue([horainicio]);
__________________
Cámara Oscura
Etheria

Última edición por Koudelka; 19/06/2008 a las 04:18