FORMULARIO CON LOGIN Y ACCESO SEGUN NIVEL
Publicado por Paco (9 intervenciones) el 31/03/2020 19:41:52
Hola buenos días,
Estoy haciendo un formulario de entrada en Access con redireccionamiento según el perfil elegido: Consulta, Gestión, Administrador.
Os rogaría me echaran una mano para ver donde está el error.
He creado una tabla llamada Usuarios con los campos: ID_Usuario, Usuario, Contraseña, Activo, Nivel_Seguridad
De un comboBox elijo el perfil, pongo la contraseña y tras 2 segundos cierra el formulario Login y abre el principal segun el perfil elegido.
Estoy haciendo un formulario de entrada en Access con redireccionamiento según el perfil elegido: Consulta, Gestión, Administrador.
Os rogaría me echaran una mano para ver donde está el error.
He creado una tabla llamada Usuarios con los campos: ID_Usuario, Usuario, Contraseña, Activo, Nivel_Seguridad
De un comboBox elijo el perfil, pongo la contraseña y tras 2 segundos cierra el formulario Login y abre el principal segun el perfil elegido.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
Private Sub cmd_Login_Click()
Dim UserLevel As Integer
Dim strUsuario As String
Dim strContraseña As String
strUsuario = Nz(Me.cbo_Usuario, "") 'combo para elegir los usuarios
strContraseña = Nz(Me.txt_Password, "")
' Ocultamos la etiqueta de mensajes
Me.lbl_Etiqueta.Visible = False
If IsNull(Me.cbo_Usuario) Then
' Mostramos mensaje en la etiqueta
Call MensajeEtiqueta("Elija un Usuario de la lista.")
'Centramos el foco en el textbox
Me.cbo_Usuario.SetFocus
' Cancelamos la ejecución del código
Exit Sub
ElseIf IsNull(Me.txt_Password) Then
' Mostramos mensaje en la etiqueta
Call MensajeEtiqueta("Introduzca una contraseña.")
' Centramos el foco en el textbox de la contraseña
Me.txt_Password.SetFocus
' Cancelamos la ejecución del código
Exit Sub
Else
If (IsNull(DLookup("[Usuario]", "Usuarios", "[Usuario] ='" & Me.cbo_Usuario.Value & _
"' And Contraseña = '" & Me.txt_Password.Value & "'"))) Then
Call MensajeEtiqueta("Usuario y/o Contraseña incorrectos.")
Else
UserLevel = DLookup("Nivel_Seguridad", "Usuarios", "Usuario = '" & Me.cbo_Usuario.Value & "'")
If UserLevel = 1 Then
Call MensajeEtiqueta("Entrando en modo Consulta.")
Me.TimerInterval = 2000
DoCmd.OpenForm "Formulario1"
DoCmd.Close acForm, Me.Name
ElseIf UserLevel = 2 Then
Call MensajeEtiqueta("Entrando en modo Gestion.")
Me.TimerInterval = 2000
DoCmd.OpenForm "Formulario2"
DoCmd.Close acForm, Me.Name
ElseIf UserLevel = 3 Then
Call MensajeEtiqueta("Entrando en modo Administrador.")
Me.TimerInterval = 2000
DoCmd.OpenForm "Formulario3"
DoCmd.Close acForm, Me.Name
End If
End If
End If
End Sub
Valora esta pregunta


0