Ver Mensaje Individual
  #5  
Antiguo 03-10-2007
Avatar de Ivanzinho
[Ivanzinho] Ivanzinho is offline
Miembro Premium
 
Registrado: ene 2005
Ubicación: Galicia
Posts: 595
Reputación: 20
Ivanzinho Va por buen camino
Cita:
Empezado por gorsan Ver Mensaje
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.
Yo de ti lo almacenaría como un campo Date, pero para el caso que nos ocupa podría valerte los siguiente :

Código Delphi [-]
Dia := 'La_Fecha_Que_Sea%'
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 like :DIA_ENTRADA'); 
SQL.Add('ORDER BY DNI1');
Params[0].AsString:=Dia;
Prepare;
if Active=False then 
   Active:=True;
Open;
Un saúdo
__________________
Si no lees esto no vivirás tranquilo
Non lle poñades chatas â obra namentras non se remata. O que pense que vai mal que traballe n’ela; hai sitio para todos. (Castelao)

Última edición por Ivanzinho fecha: 03-10-2007 a las 13:10:36.
Responder Con Cita