Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Rango de fechas (https://www.clubdelphi.com/foros/showthread.php?t=21620)

roberasturias 23-05-2005 17:26:17

Rango de fechas
 
Saludos:

Antes de nada quería pedir disculpas si mis explicaciones no son muy adecuadas.

Bien, en primer lugar tengo en una tabla de una base de datos un campo Fecha de tipo String o Alpha.

Bien, la aplicacion (o parte del proyecto que quiero realizar) es la busqueda entre un rango de fechas.

Ese rango de fechas lo almaceno en dos cajas de texto (fechai y fechaf) que las recibo de otra ventana.

Antes de realizar la consulta, paso las cadenas de texto a formato fecha de esta manera:

fecha1:=StrToDate(fechai.Text);
fecha2:=StrToDate(fechaf.Text);


Bien, con esto ya hago la consulta SQL de esta manera:

cliente:='SELECT Fecha, Importe FROM tickets

WHERE Idcliente='''+dni.Text+''' AND

Fecha BETWEEN '''+FormatDateTime('DD/MM/YYYY',fecha1)+'''

AND '''+ FormatDateTime('DD/MM/YYYY',fecha2)+''' ORDER BY Fecha';

y luego ya abro una consulta con esa cadena de texto (add('cliente');

Bien, pues el problema es que no me encuentra nunca ningun valor.

¿Cuál puede ser el problema?

Gracias y saludos

marcoszorrilla 23-05-2005 17:43:40

Bueno para empezar tienes un problema de diseño de la tabla, pues la fecha debe de guardarse en un campo de tipo fecha que para eso es y no en uno de tipo texto.

En cualquier caso la consulta no te puede funcionar de la manera que la planteas.

Si la fecha se guarda en un campo llamado por ejemplo TextoFecha
Código SQL [-]
Select Campo1, Campo2, TextoFecha
Where StrToDate(TextoFecha) Between xxxx And YYYY

Un Saludo.

roberasturias 23-05-2005 18:02:35

Bien, ahora he cambiado la base de datos y esta en tipo date la fecha porque lo necesito para otra cosa (la base de datos me la han dado hecha y tiene otros fallos bastante importantes pero no puedo modificarla mucho puesto que tendria que volver a hacerlto todo)

¿Tengo que pasar las dos cajas de texto a fecha?

Perdon pero no conozco muy bien Delphi

El codigo que tengo ahora es este:

cliente:='SELECT Fecha, Importe FROM tickets

WHERE Idcliente='''+dni.Text+''' AND

Fecha BETWEEN ''+fechai.Text+'' AND

''+fechaf.Text+'' ORDER BY Fecha';

Gracias de nuevo


La franja horaria es GMT +2. Ahora son las 20:47:26.

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