FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Problema con las fechas en Access
Hola gente, tengo un problema con un campo de tipo fecha. Mi problema es que hago una consulta de SQL y la unica manera que muestre es si le invierto dia por mes, o sea si en la consulta hago mes/dia/año, pero yo en la base tengo dia/mes/año. Ejemplo yo tengo en la base 02/05/2004 y tengo q poner en la consulta 05/02/2004 para q funcione, como puedo solucionar el problema. Yo probe en cambiarle el formato con dd/mm/aaaa pero nada, la verdad no se que puede ser.
Bueno muchas gracias por su ayuda Pancho |
#2
|
||||
|
||||
segun el estandar SQL-92, si especificas siempre la fecha en formato año/mes/dia, debe funcionar sin importar la forma particular en que haya sido implementado en el motor (que varia segun el idioma o collation)
Prueba de esa forma a ver si va.
__________________
Héctor Geraldino Software Engineer |
#3
|
|||
|
|||
Hola que tal, mira no me anduvo le cambio desde access el formato, le puse
aaaa/mm/dd y cuando hago la consulta no me anda, yo tengo un dato cuya fecha es 2004/11/09 y la unica forma para q me muestre es que ponga en la consulta 2004/09/11. La verdad no se como se puede hacer, muchas gracias igual. Un abrazo, Pancho |
#4
|
||||
|
||||
Le cambiaste el formato? El formato a la columna de la tabla? No es de tipo date ya? Nos muestras un poco del codigo?
A lo que referia en el mensaje anterior es que, si dices: select * from tabla where fecha=ano/mes/dia, independientemente del motor la fecha se debera tratar de la misma forma, y representara el mismo dia al especificarlo en ese orden.
__________________
Héctor Geraldino Software Engineer |
#5
|
|||
|
|||
Hola.
Efectivamente, aunque al abrir la base de datos veas el formato lógico para nosotros (día/mes/año), para atacarle vía SQL debes cambiarlo a mes/día/año. Aquí te muestro un trozo de código para que veas una forma fácil de convertirte tus fechas al formato que requiere Access: Código:
Fecha1:=FormatDateTime('mm/dd/yyyy',FDesde.Date); Fecha2:=FormatDateTime('mm/dd/yyyy',FHasta.Date); SqlText:='Select Fecha, Maquina, Conductor, Lugar, Trabajo, Tiempo, TiempoLiteral, Incidencias, Id' +' from Trabajos' +' where Fecha>=#'+Fecha1+'# and Fecha<=#'+Fecha2+'# order by '; case OrdenarPor.ItemIndex of 0 : Orden:='Fecha, Conductor, Maquina'; 1 : Orden:='Maquina, Conductor, Fecha'; 2 : Orden:='Conductor, Maquina, Fecha'; 3 : Orden:='Lugar, Fecha, Conductor, Maquina'; 4 : Orden:='Trabajo, Fecha, Conductor, Maquina'; 5 : Orden:='Tiempo, Fecha, Conductor, Maquina'; end;
__________________
Rafita. |
|
|
|