Compartir vía


Calcular la edad

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.