![]() |
problemas al comparar un rango de fechas con datetimepicker
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; |
Cita:
Salud OS. |
coincido con egostar, se ve raro el for pero bueno, para las horas en lugar de tanta conversion te podria servir:
algo que me pasa con ciertos manejadores de bases de datos es que al usar like no me toma el primero o el ultimo (access no me toma el ultimo), lo mas facil es agregar o quitar un dia segun lo que falte o usar <= y >= en lugar del like |
gracias a los dos, luis y egostar, me está sirviendo de mucho lo que me indican.
Ah, el for lo hago para poder pintar las fechas que saco de la BD en una columna del grid asi:
|
La franja horaria es GMT +2. Ahora son las 13:24:53. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi