FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
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 |
#2
|
||||
|
||||
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
Un Saludo.
__________________
Guía de Estilo de los Foros Cita:
|
#3
|
|||
|
|||
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 |
|
|
|