Ver Mensaje Individual
  #2 (permalink)  
Antiguo 22/05/2005, 08:24
Avatar de Beakdan
Beakdan
 
Fecha de Ingreso: diciembre-2001
Ubicación: Monterrey, Nuevo León
Mensajes: 433
Antigüedad: 23 años, 3 meses
Puntos: 7
roortiz:
¿Qué es lo que pasa?
Tienen un enfoque erróneo con el asunto de guardar las fechas. Para access, el formato date-time es guardado del mismo modo en que se guarda un double. La parte entera de dicho double corresponde a la fecha, mientras que la parte decimal corresponde a la hora.
El formato de fecha guardado, es el mismo siempre, independientemente de que tu sistema muestre la fecha como dd/mm/yyyy, mm/dd/yyyy o cualquier otro. Bueno, siempre que no hayas puesto un campo de tipo texto en lugar de uno tipo fecha.

¿Como lo puedo solucionar?
Si sólo te interesa realizar operaciones sobre la fecha, puedes convertirla a un long antes de realizar operaciones en la base. Convertirla a double mantendrá fecha y hora.
Por ejemplo, posibles cadenas de comando a ejecutar podrían ser:
Código:
'Solo la fecha
strCommand = "UPDATE tabla SET fecha = " & CLng(Now) & " WHERE Id=4"

'Fecha y hora
strCommand = "UPDATE tabla SET fecha = " & CDbl(Now) & " WHERE Id=4"

'Nota que los valores se pasan cómo números (sin comillas).
Lo anterior resulta muy fácil de recordar, pero cómo hay muchas formas de solucionar un problema, puedes pasar la fecha en formato ISO.
Código:
strCommand = "UPDATE tabla SET fecha = '" & Format(Now, "yyyy-mm-dd") & "' WHERE Id=4"
Cuestión de que experimentes.

Última edición por Beakdan; 22/05/2005 a las 08:37