Problemas para almacenar valores en una matriz

Estoy creando una base de datos en Access 2000 y me ha surgido un problema con la autentificación del usuario, y es que he definido la matriz "Intentos" para que guarde las veces que se introduce la contraseña y una vez agotado el tercer intento, se cierre la aplicación. Pero no consigo hacer funcionar el contador INTENTOS, ya que según el mensaje "Ha agotado el ..." siempre está en 1º, con lo cual no se por qué la matriz no acumula los intentos.
El código que utilizo es el siguiente:
Private Sub Aceptar_Click()
Dim Permiso
Dim Intentos As Integer
Dim Diferencia As Integer
Permiso = DLookup("[tblpermis].[Password]", "[tblpermis]", "[Password] Like '" & Forms![frmPermis]![KeyPassword].Value & "*'")
If Permiso = Forms![frmPermis]![KeyPassword].Value Then
    DoCmd.Close acForm, "frmPermis"
    DoCmd.OpenForm "PANEL DE CONTROL"
    Else
    Intentos = Intentos + 1
    Diferencia = 3 - Intentos
    MsgBox "Ha agotado el " & Intentos & "º intento de acceso, le quedan " & Diferencia
    Exit Sub
End If
If Intentos > 3 Then
    MsgBox "No está autorizado a entrar en esta base datos", vbCritical, " Ha agotado sus tres intentos de acceso"
    DoCmd.Close acForm, "frmPermis"
End If
If Permiso Is Null Then
    MsgBox "     ¡ Clave de acceso incorrecta !", 48, "      ¡ ATENCIÓN !                                    ", 50, 50
    Password.SetFocus
    Me.Password.Value = ""
End If
End Sub
Te agradecería mucho tu ayuda.

1 Respuesta

Respuesta
1
Te sobra mucho código
Diferencia quialo
Pero tu problema es que intentos tiene que ser static
sustituye dim por static en la linea de intentos
pues cada vez que termina la función y tomas un nuevo password se borra intentos

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas