Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   busqueda rango de fechas (https://www.clubdelphi.com/foros/showthread.php?t=64936)

Kamael 10-11-2009 23:41:14

busqueda rango de fechas
 
Como podria hacer para buscar el campo ventas entre dos fechas Teniendo dos datetimepicker?. Y Mostrar el resultado en un dbgid.

look 10-11-2009 23:51:00

Cita:

Empezado por Kamael (Mensaje 346187)
Como podria hacer para buscar el campo ventas entre dos fechas Teniendo dos datetimepicker?. Y Mostrar el resultado en un dbgid.


Código Delphi [-]


Qry1.sql.text:='select ventas from tabla where fecha>='+QUOTEDSTR(DATETOSTR(datetimepicker1.date)+' and fecha<='+QUOTEDSTR(DATETOSTR(datetimepicker2.date);
Qry1.active:=true;

afunez2007 11-11-2009 00:01:40

Obiamente el DataSource del grid debe tener asignada la query1 como dataset

Saludos

ContraVeneno 11-11-2009 01:42:30

yo preferiría utilizar parámetros, de esa forma no tendrías que hacer ninguna conversión de fechas a texto o viceversa:

Código Delphi [-]
with TuQuery do begin
 If active then close;
 SQL.Clear;
 SQL.Add('Select Campos');
 SQL.Add('From Tabla');
 SQL.Add('Where Fecha Between :FechaIni and :FechaFin');
 Parameters.ParamByName('FechaIni').Value := UnDateTimePicker.Date;
 Parameters.ParamByName('FechaFin').Value := OtroDateTimePicker.Date;
 Open;
end; //with

rgstuamigo 11-11-2009 14:28:40

Agregando un poquito
 
Tambien hay que tener cuidado si tu campo fecha en tu tabla es de del tipo DateTime(Fecha y Hora) ya que en tal caso el servidor hace diferencia de acuerdo a la Hora, por ejemplo puede que tu le estes enviado el rango de fecha correcto pero las horas no coinciden entonces el servidor no te devolvera el resultado esperado ya que el servidor puede diferenciar una fecha entre otra por un segundo,milisegundo,etc.
Existen varias formas de solucionar esto , una de ellas es asignar a nuestros DateTimePicker las horas iniciales y finales respectivamente.
Por ejemplo puedo asignar a mi DateTimePicker de fecha inicial una hora (Propiedad Time) de 0 es decir las 12:00 de la noche y al otro DateTimePicker una hora de 11:59:59 de la Noche, esto por que el dia es conciderado dia a partir de las 12 de la noche hasta las 11 de la noche con 59 minutos y 59 segundos.de la siguiente noche.:D
Espero que se haya entendido...:cool:
Saludos...:)


La franja horaria es GMT +2. Ahora son las 00:34:19.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi