hola,
Resulta que tengo dos datetimepicker para comparar un rango de fechas desde una BD (interbase) los cuales se cargan en un grid, pero tengo un problema a la hora que se cargan dichos datos en la grid, por ejemplo:
pongo 01/11/2007 (Fecha1) a 23/11/2007 (Fecha2) y a la primera me aparecen los datos pero no me aparecen los del día 1/11/2007 y el datepicker (Fecha1) me cambia a 24/11/2007. Cuando le doy de nuevo el rango si me aparece todos los datos desde el 1 hasta el 23.
Se que algo estoy haciendo mal, intuyo que puede ser la forma como resto las fechas o tendré que convertir variables a datetime?, aqui está el código que pongo en el botón que carga la grid de acuerdo a las fechas para ver si alguien me ayuda. Gracias.
Código Delphi
[-]
//procedure...
//Fecha1 es datetimepciker1 y Fecha 2 es datetimepciker2
pgDatos.RowCount:= Round(Fecha2.Date-Fecha1.Date)+2;
for f:= 0 to Round(Fecha2.Date-Fecha1.Date) do
begin
Fecha1.Time:= strtoTime('00:00:00');
qRecaudacion.ParamByName('FechaInicio').AsDateTime:= Fecha1.DateTime;
Fecha1.Time:= strtoTime('23:59:59');
qRecaudacion.ParamByName('FechaFinal').AsDateTime:= Fecha1.DateTime;
qRecaudacion.ParamByName('ruta').AsString:= ComboBox1.Items[ComboBox1.ItemIndex];
qRecaudacion.Open;
//...
else
MessageDlg('No se encontró información de acuerdo con los parámetros indicados.', mtError,[mbOk], 0);
qRecaudacion.Close;
Fecha1.Date:= Fecha1.Date+1;