hello,
I used to filter in this way, this may help
select ...from A,B,C,D
where (convert(Char(8), A.RefDate, 112) between :SYMD and :EYMD)
and (convert(Char(8), B.RefDate, 112) between :SYMD1 and :EYMD1)
...
may google for the help for MS SQL convert function
...
var
SYMD, EYMD : String; begin
SYMD:=FormatDateTime('YYYYMMDD', DatePkrSDate.DateTime); EYMD:=FormatDateTime('YYYYMMDD', DatePkrEDate.DateTime);
MyQuery.Parameters.ParamByName('SYMD').Value:= SYMD;
MyQuery.Parameters.ParamByName('EYMD').Value:= EYMD;
MyQuery.Parameters.ParamByName('SYMD1').Value:= SYMD;
MyQuery.Parameters.ParamByName('EYMD1').Value:= EYMD;
MyQuery.Open;
end