FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
Una pequeña duda
hola a todos
trabajo en delphi 7 y mis tablas estan access. tengo este qry y resulta que introduzco por medio a dos edit la fecha inicial 01/02/2005 y la fecha final 28/02/2005 y en el resultado me incluye los datos de enero. Código PHP:
Gracias mil Alcides Rep. Dom. |
#2
|
||||
|
||||
Checa esto....
Cita:
Saludos. |
#3
|
||||
|
||||
Saludos
Cita:
Cita:
Es extra~o este problema, no deberia mostra "Enero" para nada. Yo aconsejaria a alcide en hacer pruebas, estableciendo un rango mas corto como 01/02/2005 a 10/02/2005 y asi sucesivamente. Edt: Que componente usas para asignar la fecha al parametro?
__________________
Van Troi De León (Not) Guía, Code vB:=Delphi-SQL, ¿Cómo? Viajar en el tiempo no es teóricamente posible, pues si lo fuera, ya estarían aqui contándonos al respecto! |
#4
|
||||
|
||||
Quizas tenga que pasarle las fechas en formato mm/dd/yyyy que es el formato para casi todos los motores de datos.
Al pasar 01/02/2005 esto casa tanto con dd/mm/yyyy como con mm/dd/yyyy, por ahí empiezan los problemas. En principio, algunos motores de BBDD primero intentan casar la fecha con formato mm/dd y si no entra, como por ejemplo 28/02, entonces, y solo entonces, la hacen casar con el formato dd/mm Cuando se usa parámetros, delphi automáticamente resuelve el problema, así que me suena a algún conflicto entre la fecha establecida en windows o bien el controlador de access. Dicho de otra forma, no sé por donde coger el problema, lo único que se me ocurre es: que siempre debe funcionar, mientras no se cambie el motor de bases de datos, o éste se actualice. saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. |
#5
|
|||
|
|||
SELECT MID(CUENTA,1,5),SUM(DEBITO) AS TOTAL_DEBITO,SUM(CREDITO) AS TOTAL_CREDITO
FROM DETALLE WHERE (FECHA_TRANSACION BETWEEN :PFECHA_DESDE AND :PFECHA_HASTA) AND MID(CUENTA,1,5) = :PCUENTA GROUP BY MID(CUENTA,1,5); //ESA CONSULTA ES EQUIVALENTE A ESTO: SELECT MID(CUENTA,1,5),SUM(DEBITO) AS TOTAL_DEBITO,SUM(CREDITO) AS TOTAL_CREDITO FROM DETALLE WHERE (FECHA_TRANSACION>= :PFECHA_DESDE AND FECHA_TRANSACION<=:PFECHA_HASTA) AND MID(CUENTA,1,5) = :PCUENTA GROUP BY MID(CUENTA,1,5); // LO QUE PASA ES QUE EN ACCESS CUANDO COMPARAS FECHAS DEBES HACER LA CONVERCIÓN AL MENOS QUE COMPARES CON OTRO CAMPO QUE TAMBIEN ES FECHA ENTONCES ESO ES EQUIVALENTE A PONER LO SIGUIENTE SELECT MID(CUENTA,1,5),SUM(DEBITO) AS TOTAL_DEBITO,SUM(CREDITO) AS TOTAL_CREDITO FROM DETALLE WHERE (FECHA_TRANSACION>= CDATE(:PFECHA_DESDE) AND FECHA_TRANSACION<=CDATE(:PFECHA_HASTA)) AND MID(CUENTA,1,5) = :PCUENTA GROUP BY MID(CUENTA,1,5); //CON CDATE() CONVIERTES LOS VALORES A DATE Y YA PODRÁS COMPARARLOS... ESPERO TE SIRVA |
|
|
|