Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   Fechas en sql (https://www.clubdelphi.com/foros/showthread.php?t=32735)

carymar 14-06-2006 22:21:46

Fechas en sql
 
Hola..lo q quiero realizar es una consulta a una tabla en el q guardo las facturaciones.q me devuelva los comprobanes emitidos en rango de fechas, para ello le paso como parametro la fecha inicial y final..Por ejemplo en la tabla de abajo si le doy como param 02/06/2006 y 03/06/2006, me tendria q devolver el comp 001-0000001 y el 001-00000002, pero solo me muestra el 001-0000001 el gestor de bd es Access y el lenguaje es Delphi6 po ej:
cod_compro Fecha Importe
001-0000001 02/06/2006 25
001-0000002 03/06/2006 31
001-0000003 04/06/2006 25
El componente q utilizo es un Tquery y en sql escribo:
Select * from Ventas
Where Fecha between :ini and :fin
y en un button escribo:
Tquery.close;
tquery.parambyname('ini').asdatetime:= datetimepicker1.datetime;
tquery.parambyname('fin').asdatetime:= datetimepicker2.datetime;
Tquery.open;

Lepe 14-06-2006 23:48:04

Revisa con un ShowMessage el datetimepicker1.datetime, igual tiene una hora que es mayor que en la base de datos y por eso no sale.

Si acaso haz un Recodetime de esas fechas para ponerlas en el rango adecuado.

Saludos.

kuan-yiu 15-06-2006 18:35:10

A mí me enseñaron un método un pelín bestia, pero que funciona...
Yo reescribo la query dentro de una función (porque los parámetros de selección son variables) y en la cláusula where tengo esto:
Código Delphi [-]
  qf.SQL.Add('AND TRUNC(DS.FECHA) BETWEEN ' + ''''
                + formatdatetime('dd/mm/yyyy',fechaIni.date) + '''' +' AND '
                + '''' + formatdatetime('dd/mm/yyyy',fechaFin.date) + '''');


La franja horaria es GMT +2. Ahora son las 22:00:44.

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