Si quieres más precisión en el cálculo de la edad, has de usar una fórmula más compleja, usando o bien una función personalizada para calcular la edad, o añadiendo a la fórmula que tienes condicionales para analizar el mes y el día.
Yo uso esta función personalizada, que has de pegar en un módulo nuevo de tu BD:
'------------------------------------------------------------------------------------------------
'Función para calcular la edad
'------------------------------------------------------------------------------------------------
Public Function fncEdad(FechaNac As Date) As Integer
'Analizamos el mes de la fecha actual
Select Case Month(Date)
Case Is > Month(FechaNac)
'Si es mayor que el mes de la fecha de nacimiento, la edad es la diferencia de años
fncEdad = DateDiff("yyyy", FechaNac, Date)
Case Is < Month(FechaNac)
'Si es menor que el mes de la fecha de nacimiento, la edad es la diferencia de años menos uno,
'pues aún no ha cumplido este año
fncEdad = DateDiff("yyyy", FechaNac, Date) - 1
Case Is = Month(FechaNac)
'Si estamos en el mismo mes, hay que analizar el día, para saber si ya ha cumplido o no
If Day(Date) < Day(FechaNac) Then 'Si el día actual es menor, aun no cumplió
fncEdad = DateDiff("yyyy", FechaNac, Date) - 1
Else
fncEdad = DateDiff("yyyy", FechaNac, Date)
End If
End Select
End Function
Y en tu cuadro de texto independiente pondrías simplemente:
=fncEdad([FECHA_DE_NACIMIENTO])
Esta fórmula te dará la edad exacta (en años) entre la fecha del sistema y el campo [[FECHA_DE_NACIMIENTO].
Si [FECHA] fuera otro campos de tu tabla, y no la fecha actual que devuelve la función Fecha(), tendrías que usar esta otra función:
Public Function fncEdad(FechaNac As Date, FechaAct As Date) As Integer
'Analizamos el mes de la fecha actual
Select Case Month(FechaAct)
Case Is > Month(FechaNac)
'Si es mayor que el mes de la fecha de nacimiento, la edad es la diferencia de años
fncEdad = DateDiff("yyyy", FechaNac, FechaAct)
Case Is < Month(FechaNac)
'Si es menor que el mes de la fecha de nacimiento, la edad es la diferencia de años menos uno,
'pues aún no ha cumplido este año
fncEdad = DateDiff("yyyy", FechaNac, FechaAct) - 1
Case Is = Month(FechaNac)
'Si estamos en el mismo mes, hay que analizar el día, para saber si ya ha cumplido o no
If Day(FechaAct) < Day(FechaNac) Then 'Si el día actual es menor, aun no cumplió
fncEdad = DateDiff("yyyy", FechaNac, FechaAct) - 1
Else
fncEdad = DateDiff("yyyy", FechaNac, FechaAct)
End If
End Select
End Function
y en tu cuadro del formulario:
=fncEdad([FECHA_DE_NACIMIENTO),[FECHA])