Creo que descubrí donde está el problema:
Si hago:
Código Delphi
[-]
procedure TForm1.Button1Click(Sender: TObject);
var
D: TDate;
begin
D:= StrToDate('04/09/2011');
with IBQuery1 do
begin
Close;
Paramcheck:= True;
SQL.Clear;
SQL.Add('SELECT * FROM ALBARANES');
SQL.Add('WHERE CODCLIENT = :CODCLI');
SQL.Add('AND ACTIVO = :ACTIVO ');
SQL.Add('AND FACTURAR = :FACTURA ');
SQL.Add('AND FECHA <= :FECHA ');
SQL.Add('ORDER BY FECHA');
ParamByName('CODCLI').AsString:= '00004';
ParamByName('ACTIVO').AsString:= 'S';
ParamByName('FACTURA').AsString:= 'S';
ParamByName('FECHA').AsString:= FormatDateTime('mm/dd/yy',D);
Open;
end;
end;
No muestra nada.
De este modo funciona bién:
Código Delphi
[-]
procedure TForm1.Button1Click(Sender: TObject);
var
D: TDate;
begin
D:= StrToDate('04/09/2011');
with IBQuery1 do
begin
Close;
Paramcheck:= True;
SQL.Clear;
SQL.Add('SELECT * FROM ALBARANES');
SQL.Add('WHERE CODCLIENT = :CODCLI');
SQL.Add('AND ACTIVO = :ACTIVO ');
SQL.Add('AND FACTURAR = :FACTURA ');
SQL.Add('AND FECHA <= :FECHA ');
SQL.Add('ORDER BY FECHA');
ParamByName('CODCLI').AsString:= '00004';
ParamByName('ACTIVO').AsString:= 'S';
ParamByName('FACTURA').AsString:= 'S';
ParamByName('FECHA').AsString:= DateToStr(D);
Open;
end;
end;
Y es por que usando
FormatDateTime('dd/mm/yy'..) , se envía:
04/09/11 y con DateToStr:
04/09/2011, es decir que tendría que ser:
FormatDateTime('dd/mm/yyyy'...).
Saludos.