Hola Daniel.
Creo que podrías fijar el Edit en blanco, el primer DateTimePicker en la menor fecha deseada y el segundo en la actual. De esa manera, si no realiza ningún cambio en los valores obtiene el listado sin filtro, de otro modo se filtrará por las opciónes que haya configurado.
Ejemplo:
Código Delphi
[-]
procedure TForm1.FormCreate(Sender: TObject);
begin
dtpDesde.Date := 1; dtpHasta.Date := Date; end;
procedure TForm1.Button1Click(Sender: TObject);
begin
with ADOQuery1 do
begin
Close;
SQL.Clear;
SQL.Add('SELECT TITULO, DESCRIPCION_PRODUCTO, PRECIO_BASE, FECHA_INICIO, FECHA_FIN, FOTO');
SQL.Add('FROM SUBASTA_PROD');
SQL.Add('WHERE TITULO LIKE :TIT AND');
SQL.Add('FECHA_INICIO >= :INI AND FECHA_FIN <= :FIN');
Parameters.ParamByName('TIT').Value := '%' + Edit1.Text +'%';
Parameters.ParamByName('INI').Value := dtpDesde.DateTime;
Parameters.ParamByName('FIN').Value := dtpHasta.DateTime;
Open;
end;
end;
Como la "fecha desde" del ejemplo usé el big bang delphiano, pero te convendría fijar el DateTimePicker(desde) a la fecha de inicio de carga de datos en la tabla "SUBASTA_PROD".
Saludos