Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   Fechas en Filtros (https://www.clubdelphi.com/foros/showthread.php?t=14731)

Nicole 29-09-2004 16:10:11

Fechas en Filtros
 
Hola a todos.

Tengo un problema con un filtro en Delphi. Os explico. Quiero hacer un filtro de las bajas cuya fecha de inicio sea mayor que una fecha INI y cuya fecha fin sea vacía o menor que una fecha FIN. El problema es que no se como poner lo de que la fecha sea vacía. He probado con IS NULL, NULL, BLANK y no me funciona nada.

Tabla.Filter:='Fecha > #'+INI+'# AND (Fecha = NULL OR Fecha < #'+FIN+'#)';

Al activar el filtro me da un error.

Gracias.

Sick boy 29-09-2004 17:09:45

Hola,

Nunca he usado NULL con fechas, pero segun la ayuda de delphi FECHA=NULL deberia funcionar.

¿ Te funciona si quitas lo de fecha=null ??

Un saludo

Nicole 29-09-2004 17:45:47

Pues si me funciona lo de FechaFin=NULL.

La consulta en la que se encuentra ese código es la siguiente, que es la que no me funciona, porque me dice "argumentos incorrectos o en conflicto con otros".
Es un problema del OR y el AND, porque si le quito a partir del AND si me funciona.

BD.Baja.Filter:='(FechaFin > #'+fechaI+'# OR FechaFin = NULL) AND FechaInicio <= #'+fechaF+'#';

Gracias.

Sick boy 30-09-2004 10:46:20

Prueba a poner esto:

BD.Baja.Filter:='((FechaFin > #'+fechaI+'# OR FechaFin = NULL) AND (FechaInicio <= #'+fechaF+'#))';

No lo he probado, pero creo que funcionara

Nicole 30-09-2004 11:52:20

Tampoco me ha funcionado el filtro.

Finalmente he tenido que implementarlo con el método FilterRecord:

procedure TBD.BAJAFilterRecord(DataSet: TDataSet; var Accept: Boolean);
begin
if bd.BAJAFechaInicio.Value <= fechaF then
if (bd.BAJAFechaFin.Value > fechaI) OR (bd.BAJAFechaFin.Value=0) then
accept:=true
else
accept:=false
else
accept:=false;
end;


La franja horaria es GMT +2. Ahora son las 01:05:29.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi