Función que calcule la edad exacta en access
Tengo una función en Access que calcula la edad en un textbox llamado "edad", esto sucede a partir de que el textbox "fecha_nacimiento" tenga valor. La función me calcula bien la edad cuando estamos a final de año, pero al principio del año la calcula tomando en cuenta solamente los años y no las diferencias que tiene de meses, es decir que si una persona nació el 06/06/1975 aun no tiene 43 años, pero mi función ya lo envía con la edad de 43.
Esta es la función que ocupo para el calculo de la edad.
Private Sub calcular_edad()
Dim dEdad As Integer
Dim fact As Date
'atrapador de errores
On Error GoTo Err_SinFN
'si la fecha de nacimiento está vacía, esta función sale de la subrutina sin necesidad de llenar forzosamente el campo
If fecha_nacimiento.Value = "" And edad = "" Then
edad = ""
Exit Sub
End If
If Not IsNull(Me.fecha_nacimiento) And Not IsNull(Me.edad) Then
fact = Now
'cálculo de la edad con la func. Datediff
dEdad = DateDiff("yyyy", Me.fecha_nacimiento.Value, fact)
Me.edad.Value = dEdad
Else
If Not IsNull(Me.fecha_nacimiento) And IsNull(Me.edad) Then
fact = Now
'cálculo de la edad con la func. Datediff
dEdad = DateDiff("yyyy", Me.fecha_nacimiento.Value, fact)
Me.edad.Value = dEdad
End If
End If
Exit_SinFN:
Exit Sub
Err_SinFN:
Resume Exit_SinFN
End Sub
Me pueden apoyar con una función más exacta