Access - Control calculado de fecha

 
Vista:

Control calculado de fecha

Publicado por Maose (1 intervención) el 15/04/2002 05:36:14
Hola amigos del foro.

Acudo en busca de ayuda sobre un control de cuadro de texto calculado en un formulario. Este control depende de un campo de tipo Fecha/Hora de una tabla y en él se almacena la fecha de nacimiento (Fecha_Nac) de un animal. Pues bien, deseo en el pie de página del formulario, basado en ese campo, mostrar un cuadro de texto que me calcule la edad del animal a la fecha actual del sistema, en el formato años, meses, días.

Me explico: si la fecha actual es 14 de abril de 2002 y el animal nació el 31 de enero de 1999, el control debe mostrar el texto:

3 años, 2 meses, 14 días

Me hago un lío con las funciones de fecha incorporadas en el generador de expresiones del origen del control en Access 97 y si obtengo los años, no saco los meses y los días, y así... :-(

Agradezco desde ahora la oportuna colaboración incluyendo la expresión que me permita alcanzar mi cometido. Aprovecho para que si alguien sabe de un tutorial o página web en donde expliquen en detalle la sintaxis de todas estas funciones incluidas en Access, me las comparta.

Maose
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

Control calculado de fecha

Publicado por Alejandro (4142 intervenciones) el 21/04/2023 00:20:58
Hola Maose.

Para calcular la edad en años, meses y días a partir de una fecha de nacimiento en Access, puedes usar la función DateDiff para obtener la diferencia entre la fecha de nacimiento y la fecha actual, y luego realizar algunos cálculos para obtener los años, meses y días correspondientes. Aquí te proporciono una expresión que puedes utilizar en el origen del control:

1
=Int(DateDiff("yyyy", [Fecha_Nac], Date()) & " años, " & DateDiff("m", [Fecha_Nac], Date()) Mod 12 & " meses, " & DateDiff("d", DateSerial(Year(Date()), Month(Date()) - 1, 1), DateSerial(Year([Fecha_Nac]), Month([Fecha_Nac]) - 1, 1)))

Esta expresión calcula la diferencia en años entre la fecha actual y la fecha de nacimiento utilizando la función DateDiff con el intervalo "yyyy". Luego, calcula la diferencia en meses utilizando la función DateDiff con el intervalo "m", y toma el resto de la división entre 12 para obtener los meses que no completan un año.

Finalmente, calcula la diferencia en días utilizando la función DateDiff con el intervalo "d". Para obtener los días, se resta la cantidad de días transcurridos desde el primer día del mes actual hasta la fecha actual y desde el primer día del mes de nacimiento hasta la fecha de nacimiento.

Espero que esta expresión te sea de ayuda. En cuanto a los recursos de aprendizaje en Access, te recomiendo revisar la documentación oficial de Microsoft o buscar tutoriales en línea en sitios como YouTube o Udemy. ¡Buena suerte!
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