Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
En Access, no se incluye ninguna función que permita calcular la edad de una persona o la antigüedad de un objeto basándose en una fecha determinada. Este tema contiene código de Visual Basic para Aplicaciones (VBA) para dos funciones personalizadas (Age y AgeMonths) que permitirán calcular la edad basándose en una fecha específica.
La función siguiente calcula la edad en años a partir de una fecha específica hasta la fecha actual.
Function Age (varBirthDate As Variant) As Integer
Dim varAge As Variant
If IsNull(varBirthdate) then Age = 0: Exit Function
varAge = DateDiff("yyyy", varBirthDate, Now)
If Date < DateSerial(Year(Now), Month(varBirthDate), _
Day(varBirthDate)) Then
varAge = varAge - 1
End If
Age = CInt(varAge)
End Function
La función siguiente calcula el número de meses transcurridos desde el último mes proporcionado por la fecha indicada. Si la fecha especificada es un cumpleaños, la función devolverá el número de meses transcurridos desde el último cumpleaños.
Function AgeMonths(ByVal StartDate As String) As Integer
Dim tAge As Double
tAge = (DateDiff("m", StartDate, Now))
If (DatePart("d", StartDate) > DatePart("d", Now)) Then
tAge = tAge - 1
End If
If tAge < 0 Then
tAge = tAge + 1
End If
AgeMonths = CInt(tAge Mod 12)
End Function
Soporte técnico y comentarios
¿Tiene preguntas o comentarios sobre VBA para Office o esta documentación? Vea Soporte técnico y comentarios sobre VBA para Office para obtener ayuda sobre las formas en las que puede recibir soporte técnico y enviar comentarios.