Ver Mensaje Individual
  #4  
Antiguo 03-10-2007
gorsan gorsan is offline
Miembro
 
Registrado: jun 2003
Ubicación: Alcala de Henares (Madrid)
Posts: 87
Reputación: 21
gorsan Va por buen camino
Sigue igual

El siguiente codigo (retocado minimamente respecto al que me has pasado) arroja cero registros y deberia haber alguno:

Código SQL [-]
procedure TForm1.FormShow(Sender: TObject);
var
  Dia: String;
begin
 Dia:=DateTimeToStr(Now);
 with DM.IBQuery1 do
   begin
       if Active=True then Active:=False;
       UnPrepare;
       SQL.Clear;
       SQL.Add('SELECT DNI1, LETRA_NIF, APELLIDO_1, APELLIDO_2, NOMBRE, MATRICULA, CENTRO, OBJETO, DNI2, DIA_SALIDA, DIA_ENTRADA');
       SQL.Add('FROM EXTERNOS_DNI, MOV_EXTERNOS_DNI');
       SQL.Add('WHERE DNI1=DNI2 AND DIA_ENTRADA=?DIA_ENTRADA'); {en lugar de ? debe haber dos puntos}
       SQL.Add('ORDER BY DNI1');
       Params[0].AsString:=Dia;
       Prepare;
       if Active=False then Active:=True;
       Open;
   end;
end;

Creo que saber lo que pasa pero no como arreglarlo. La variable dia es un TDateTime convertido a cadena. Por tanto tiene el siguiente formato:
"01/01/2001 10:00:00" y claro, no coincide por el añadido de la hora. Lo suyo seria eliminar de alguna manera (?) el campo hora de la cadena. ¿Pero como?
Gracias de antemano.
Responder Con Cita