Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Problema con las fechas en Access (https://www.clubdelphi.com/foros/showthread.php?t=15919)

fmonte 09-11-2004 18:18:50

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

__hector 09-11-2004 19:31:29

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.

fmonte 09-11-2004 20:01:17

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

__hector 10-11-2004 01:34:00

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.

rafita 10-11-2004 11:07:42

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;

Suerte.


La franja horaria es GMT +2. Ahora son las 22:23:46.

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