Option Compare Database
Option Explicit
Dim NumIntentos As Integer
Private Sub CmdEntrar_Click()
Dim auxContraseña As String
'Comprobamos que hay datos en las cajas de texto
If Nz(Me.txtlogin.Value, "") = "" Then
MsgBox "Seleccione un nombre de usuario de la lista para acceder", vbInformation, "ATENCION"
Me.txtlogin.SetFocus
ElseIf Nz(Me.txtpassword.Value, "") = "" Then
MsgBox "Contraseña inválida", vbInformation, "ATENCION"
Me.txtpassword.SetFocus
Else
If Nz(DLookup("password", "Usuarios", "Id_usuario=" & Me![txtlogin]), "") <> "" Then
auxContraseña = DLookup("password", "Usuarios", "Id_usuario=" & Me![txtlogin])
End If
If auxContraseña <> Me.txtpassword.Value Then
If NumIntentos = 10 Then
NumIntentos = NumIntentos - 1
MsgBox "La contraseña introducida es incorrecta" & vbCrLf & _
"Le quedan " & NumIntentos & " intentos" & vbCrLf & vbCrLf & _
"Por favor, introduzca otra", vbExclamation, "INTRODUCCIÓN INCORRECTA"
Me.txtpassword.Value = ""
Me.txtpassword.SetFocus
Else
MsgBox "Contraseña inválida", vbInformation, "ATENCION"
Me.txtpassword.SetFocus
End If
Else
If DLookup("Id_acceso", "Usuarios", "Id_usuario=" & Me![txtlogin]) = 1 Then
Call Usuario1
Else
Call Usuario2
End If
'DoCmd.OpenForm stDocName, , , stLinkCriteria 'Abrimos el formulario correspondiente
DoCmd.Close acForm, Me.Name 'y cerramos el de acceso
End If
End If
End Sub
Function Usuario1()
On Error GoTo Usuario1_Err
DoCmd.OpenForm "Inicio", acNormal, "", "", , acNormal
Usuario1_Exit:
Exit Function
Usuario1_Err:
MsgBox Error$
Resume Usuario1_Exit
End Function
Function Usuario2()
On Error GoTo Usuario2_Err
DoCmd.OpenForm "Inicio", acNormal, "", "", , acNormal
Usuario2_Exit:
Exit Function
Usuario2_Err:
MsgBox Error$
Resume Usuario2_Exit
End Function