¿Cómo evitar que Access cambie el formato de fecha en un cálculo entre fechas?

Estoy armando en VBA en Access una instrucción SQL que requiere ante una pregunta calcular una diferencia entre fechas. Parte de la instrucción es "... Iff([Fecha]>#01/09/2016#,Datediff("d",#01/09/2016#,[Fecha])+1..."

El problema es que interpreta 01/09 como 09/01. Esto es, la fecha correcta es 1 de septiembre y lo interpreta como 9 de enero. ¿Cómo se le indica a Access que interprete la fecha con el formato DD/MM/YYYY)?

2 respuestas

Respuesta
1

Es un problema recurrente.

Prueba con estas dos líneas:

vfecha = Format(Date, "dd/mm/yyyy")
if day(vfecha)<13 then vfecha=format(vfecha,"mm/dd/yyyy")
Respuesta
1

SQL es un lenguaje de programación "americano" (como casi todos), y en consecuencia interpreta las fechas en formato americano.

La mejor opción que tienes es trabajar, vía código VBA, con las fechas en ese formato americano, usando para ello la función Format().

A Access (y al VBA) le da lo mismo cómo se escriba, pues trata las fechas como lo que realmente son: números.

Un saludo


Añade tu respuesta

Haz clic para o

Más respuestas relacionadas