Problema al filtrar un Query entre fechas
Buenas tardes!
Tengo un formulario con un TQuery, un Datasource , un TDBGrid enlazado al DataSource del TQuery, varios edit y 2 datetimepicker, apuntando a una base de datos Access conectado desde un ODBC. Estoy utilizando el siguiente código para ir filtrando los datos que se van a mostrar en el DBGrid mediante el Query.
El problema es que cuando intento filtrar por fecha no me muestra ninguna información. :confused: Alguien sabe que es lo que estoy haciendo mal? :o He probado algunas de las soluciones en hilos anteriores y no he podido resolver mi problema. Gracias anticipadas. Saludos |
Usa parametros para esos asuntos.
Ej: Analiza eso, o busca en el foto sobre temas parecidos. Suerte |
Gracias
Deja probar nuevamente con parámetros, ya había intentado pero me daba un error deja ver si ahora no lo hace. Gracias nuevamente |
HOLA MAN , ESTO ES BIEN FACIL, ESTE PROBLEMA DE LAS FECHAS SOLO SE PRESENTA CUANDO TRABAJAS CON ACCESS LA SOLUCION ES QUE ANTECEDAS LA PALABRA CDATE('+QuotedStr('01/01/2006')+') ALGO ASI , OK SUERTE ESPERO PODER AYUDARTE MAS COSAS NOS VEMOS
|
Hola Rayku, funciona pero solo en access y no en sqlServer porque no existe dicha función CDate, yo quisiera usar parametros justamente para no depender de una base de Datos y su respectivo formato de fecha, muchisimas gracias por responder.
Saludos |
Gracias
Probé con la opción que me diste, pero resulta que delphi no reconoce CDATE, seguiré probando a ver si doy con la solución. PSD: No soy Man, soy Woman :p :rolleyes: ;) :) |
La opción de vtdeleon es la "más limpia". Normalmente los motores de bases de datos esperan la fecha en formato mm/dd/yyyy, si no cuadra en ese formato, lo intenta encajar con dd/mm/yyyy, el problema viene cuando se tiene dos parámetros de fecha (fecha_inicio y fecha_fin), las dos pueden encajar en un formato, en los dos formatos, o incluso puede llegar a tomar una fecha en un formato y la otra en el otro formato....
Resumen: Usa la fórmula de vtdeleon y delphi pasará las fechas en el formato adecuado según el motor de bases de datos que uses. Saludos y espero que te ayude a entender el tema ;). |
Hola!
Gracias Aplicando lo de los parámetros como me sugirió vtdeleon y Lepe el código a funcionado, le dejo el código por si alguien tiene el mismo problema.
Para que funcionara con Access tuve que definir los parámetros como DateTime Saludos Gracias a todos por sus respuestas :) :D |
Hola Lepe una preguntita cuando usaba los componentes de BDE con la forma que indica vtdeLeon todo bien me funciono perfectamente, pero ahora que estoy utilizando ADO tuve problemas no me devolvia ningun valor lo hice de la siguiente forma:
de esa forma no me saca ningun resultado pero si hago esto si me devuelve resultados
dandole formato si muestra resultados hice la prueba con access y sqlServer y funciona, pero a mi me gustaria que funcionara de la otra forma, sin darle el formato asi como lo dices tu Cita:
|
Hola Caro!
Intenta en vez de ftDate y datepick1.Date usar ftDateTime y datepick1.DateTime, tuve problema con Access usando solo Date y al utlizar DateTime me funcionó, intenta a ver si eso resuelve tu problema. Saludos |
Muchisimas gracias por responder judit25
Cita:
|
espero q esto te sirva |
Saludos
Cita:
Cita:
Cita:
|
Hola
Bueno ante todo dejenme decir que soy unpoco inexperto en esto; pero pues tengo un problema y no se como resolverlo, es con el manejo de fechas en las consultas sql, ya intente paando paramentros, pasando la fecha directamente de la fotma #mm/dd/aa# y la consulta no me regresa nada. el probolemacreo yo esta en la base de datos, porque yo he usado la forma #mm/dd/aa# en bases de datos que yo hago y me funciona bien; una vez me paso lo mismo,pero lo unico quie hice fue borrar la tabla y crearla de nuevo. pero ahora es distinto porque esa base de datos ya estaba y al parecer tiene el mismo problema, y como podrasn imaginarse no puedo borrar la tabla. El problema radica creo yo que el campo de fecha (que esta definido como fecha/hora en la base de datos) tiene algo asi como si la fecha la exigiera en formato mm/dd/aa hh:mm:ss yo que hice es quele envie la fecha #mm/dd/aa hh:mm:ss# pero pues me meraca error de todos modos. si alguien me puediera ayudar con eso, se los agradeceria mucho.
saludos |
No dices que base de datos estas usando pero asi al vuelo intenta pasando asi los datos.
Cita:
|
Formato fecha
Hace rato que no hago nada sobre access (por suerte decidi pasar todos mis desarrollos a firebird) pero creo recordar que tenes que pasar en el query las fechas con formato 'mm/dd/yyyy' no 'dd/mm/yyyy' como estas pasando
Espero que esto se sea de ayuda |
Hola a todos
Bueno para empezar access es como el juguete en bases de datos, tiene un generador de consultas muy facil de usar. Para hacer una consulta estimando dos fechas se puede hacer tanto por parametros como ya han indicado los maestros, como por una sencilla sentencia sql. Para empezar como access es un poco quisquillosa pues le decimos lo que queremos y luego le decimos como queremos que nos presente la fecha asi: Al usar el generador de consultas de access, se vera el codigo sql y facilmente se podra implementar en un query. Bueno creo que mas facil no se puede.:D Saludos |
Gracias!!!
Muchas Gracias!!, si era eso el error. Una disculpa que soy novato :D
|
Respuesta para esto
Lo realice para MySQL, por si alguien lo necesita
aca utilizo 2 datetimepicker para la fecha inicial y para la fecha final. funciona OK, si tienen dudas con gusto les ayudo. |
La franja horaria es GMT +2. Ahora son las 14:22:27. |
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