En la cabecera del Módulo asociado al Formulario, declaras la Variable.
Dim IntentosNumTarjeta As Integer
En tu caso puede ser: Dim IntentosNumTelefono As Integer
En el evento BeforeUpdate del Campo que estás introduciendo pones.
Private Sub NumTarjeta_BeforeUpdate(Cancel As Integer)
On Error GoTo NumTarjeta_BeforeUpdate_Err
‘Repite ésta evaluación tantas veces como Campos quieras Sondear. Y sustituye NumTarjeta y Clientes.
‘Clientes es la Tabla.
If (Eval("DLookUp(""[NumTarjeta]"",""[Clientes]"",""[NumTarjeta] = Form.[NumTarjeta] "") Is Not Null")) Then
'Si el valor de NumTarjeta no es único, muestra un mensaje.
Beep
MsgBox "El Numero de Tarjeta que has introducido ya existe." & vbCrLf & "Introduce uno que sea Unico.", vbCritical, "NUMERO DE TARJETA DUPLICADO"
IntentosNumTarjeta = IntentosNumTarjeta + 1
Call CuentaIntentos ' Para permitir solo tres Intentos
'Vuelve al control NumTarjeta.
DoCmd.CancelEvent
End If
NumTarjeta_BeforeUpdate_Exit:
Exit Sub
NumTarjeta_BeforeUpdate_Err:
MsgBox Error$
Resume NumTarjeta_BeforeUpdate_Exit
End Sub 'NumTarjeta_BeforeUpdate(Cancel As Integer)
Function CuentaIntentos()
If IntentosNumTarjeta = 3 Then' Aquí debes sustituir el Nombre de la Variable
MsgBox "Llevas tres Intentos sin exito." & vbCrLf & "El Formulario se cerrará", vbCritical, "MUCHOS INTENTOS"
DoCmd.Close acForm, "Clientes" 'Aquí el Nombre de tu Formulario
End If
End Function
Ya me comentarás si te ha ido bien