Hola, tengo este código en Access 97 y no me pone el foco en el campo que abandono según el if de la condición. Es muy simple, si el año de nacimiento del socio que se introduce es mayor que el que se permite (por ejemplo, se permiten socios hasta el 1996 y meto uno del 1997) debe poner el foco otra vez en este campo pero no lo hace... dejo el código para que lo veais ¿alguna otra forma de hacerlo?
Private Sub Fecha_de_Nacimiento_AfterUpdate()
Dim anho As Variant
Dim anho_socio As Variant
Me![edad] = (Me![Fecha de Renovación] - Me![fecha de nacimiento]) / 365
'Para guardar el mes de nacimiento del socio (campo interno de la base de datos)
Me![mes_nacimiento] = Month(Me![fecha de nacimiento])
'Comprobar año nacimiento
'Primero selecciono el año de nacimiento permitido
anho = Me!año_nacimiento
anho_socio = Year(Me![fecha de nacimiento])
If (anho_socio > anho) Then
Me![fecha de nacimiento].SetFocus
MsgBox "Edad no permitida", vbCritical, "Error en la edad"
End If
End Sub