No consigo almacenar los datos en una matriz
Hola experto.
Estoy realizando 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.
Estoy realizando 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.
Respuesta de kbza_85
1