Access - Problema con función DateDiff

 
Vista:

Problema con función DateDiff

Publicado por Luis Fernando (29 intervenciones) el 14/05/2001 03:29:37
Un saludo a todos. La función DateDiff me arroja resultados incorrectos. Veamos:

1
2
3
fecha1=#25/Dec/2000#
fecha2=#01/Nov/2001#
años=DateDiff("yyyy", fecha1, fecha2)

y la respuesta obtenida es 1 año lo cual es incorrecto pues el año no se ha cumplido. Veamos otro ejemplo:

1
2
3
fecha1=#5/May/1997#
fecha2=#1/Feb/2000#
años=DateDiff("yyyy", fecha1, fecha2)

y la respuesta es 3 años cuando realmente sólo han transcurrido 2 años.
Pueden decirme cuáles son los valores del argumento intervalo de la función DateDiff?
Lo que pasa es que las funciones cambian de nombre usándolas desde VBA o desde Consultas.
Nota: Estoy trabajando sobre Access 2000.

Gracias a todos los que puedan ayudar. Saludos desde Colombia.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

Problema con función DateDiff

Publicado por Alejandro (4142 intervenciones) el 14/04/2023 20:49:27
La función DateDiff en Access devuelve el número de intervalos completos entre dos fechas. El tercer argumento de la función especifica el intervalo que se debe usar para calcular la diferencia. Los valores posibles para el intervalo son:

1. "yyyy": Devuelve el número de años completos entre las dos fechas.
2. "q": Devuelve el número de trimestres completos entre las dos fechas.
3. "m": Devuelve el número de meses completos entre las dos fechas.
4. "y": Devuelve el número de días completos entre las dos fechas. (365 días por año)
5. "d": Devuelve el número de días completos entre las dos fechas.
6. "w": Devuelve el número de semanas completas entre las dos fechas. (semanas completas tienen en cuenta el primer día de la semana según la configuración regional)
7. "h": Devuelve el número de horas completas entre las dos fechas.
8. "n": Devuelve el número de minutos completos entre las dos fechas.
9. "s": Devuelve el número de segundos completos entre las dos fechas.

En el primer ejemplo que proporcionas, la función DateDiff está utilizando el intervalo "yyyy", lo que significa que devuelve el número de años completos entre las dos fechas. Como la fecha2 es el 1 de noviembre de 2001, que está después del 25 de diciembre de 2000, la función devuelve 1 año completo.

En el segundo ejemplo, la función está utilizando el intervalo "yyyy", lo que significa que devuelve el número de años completos entre las dos fechas. Como la fecha2 es el 1 de febrero de 2000, que está antes del 5 de mayo de 1997, la función devuelve 3 años completos.

Si lo que deseas es obtener el número de años exactos transcurridos entre dos fechas, puedes utilizar una función personalizada en VBA que tenga en cuenta los meses y días transcurridos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar