Problemas con las fechas
Tengo el siguiente problema con las fechas, a ver si me aclaras el tema:
Utilizo muchas veces el Docmd. Runsql para actualizaciones sencillas, borrado de algún registro, etc... Habitualmente utilizo la "estrategia" de montar un string con la sentencia, que concatene un control que contiene el dato a actualizar o a buscar, más o menos así:
"select mi_campo from mi_tabla where " & me. Control o bien "update xxxx as xxxx, etc
Los problemas empiezan cuando trato con fechas. Una vez que entras en los módulos parece que el Access se "lia" entre elformato de fecha nuestro y el americano... De forma que "01/02/00" pasa a ser el 2 de enero
Si fuera SIEMPRE así, no tendría problemas... Pero en el mismo entorno de programación, una fecha como "13/02/00", que, siguiendo el mismo criterio que antes debería dar un error (¿día 2 del mes 13?), sin embargo lo admite perfectamente como 13 de febrero... Por lo tanto no tengo un criterio único y si concateno un control de fecha me "baila" el resultado...
He solventado el problema concatenando Cdbl(MI_FECHA), con lo que se transforma la fecha a doble precisión y "parece" que sí que se lo traga...
¿Hay una solución más elegante? (Espero que se haya entendido)
Utilizo muchas veces el Docmd. Runsql para actualizaciones sencillas, borrado de algún registro, etc... Habitualmente utilizo la "estrategia" de montar un string con la sentencia, que concatene un control que contiene el dato a actualizar o a buscar, más o menos así:
"select mi_campo from mi_tabla where " & me. Control o bien "update xxxx as xxxx, etc
Los problemas empiezan cuando trato con fechas. Una vez que entras en los módulos parece que el Access se "lia" entre elformato de fecha nuestro y el americano... De forma que "01/02/00" pasa a ser el 2 de enero
Si fuera SIEMPRE así, no tendría problemas... Pero en el mismo entorno de programación, una fecha como "13/02/00", que, siguiendo el mismo criterio que antes debería dar un error (¿día 2 del mes 13?), sin embargo lo admite perfectamente como 13 de febrero... Por lo tanto no tengo un criterio único y si concateno un control de fecha me "baila" el resultado...
He solventado el problema concatenando Cdbl(MI_FECHA), con lo que se transforma la fecha a doble precisión y "parece" que sí que se lo traga...
¿Hay una solución más elegante? (Espero que se haya entendido)
2 respuestas
Respuesta de jbchea
1
Respuesta de Luis Sanz
1