Mejora Cuentas de Usuario Access?
Como dice el titulo quisiera mejorar un control de Acceso a mi base de datos. La cuestión es que deseo agregar una nueva variable.
Hasta el momento el formulario de control de acceso es el siguiente:
Con el siguiente codigo bvA:
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 "Introduzca la contraseña del usuario seleccionado", 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 > 1 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 "Ha superado el numero de intentos", vbCritical, "ADIOS..."
DoCmd.RunCommand acCmdCloseDatabase 'y cerramos el de acceso
End If
Else
Dim Acceso As Integer
Acceso = DLookup("Id_acceso", "Usuarios", "Id_usuario=" & Me![TxtLogin])
Select Case Acceso
Case 1 'Es el id_acceso del Administrador
MsgBox "Has ingresado al sistema con permisos de Super-Administrador, por lo tanto tienes acceso a toda la informacion, apartados del sistema y ademas la creacion de cuentas de usuario", vbInformation, "INFORMACION"
DoCmd.OpenForm "Entorno de Super Administrador", acNormal, "", "", , acNormal
Case 2 'Es el id_acceso del Usuario
MsgBox "Has ingresado al sistema con permisos de Administrador, por lo tanto tendras acceso a los apartados correspondientes otorgados por el Super-Administrador", vbInformation, "INFORMACION"
DoCmd.OpenForm "Entorno de Administrador", acNormal, "", "", , acNormal
Case 3 'Es el id_acceso del Usuario Facturacion
MsgBox "Has ingresado al sistema con permisos de Digitador, por lo tanto tendras acceso a los apartados correspondientes otorgados por el Super-Administrador", vbInformation, "INFORMACION"
DoCmd.OpenForm "Entorno de Usuario2", acNormal, "", "", , acNormal
Case 4 'Es el id_acceso del Usuario Facturacion
MsgBox "Has ingresado al sistema con permisos de Visita, por lo tanto tendras acceso a los apartados correspondientes otorgados por el Super-Administrador", vbInformation, "INFORMACION"
DoCmd.OpenForm "Entorno de Usuario3", acNormal, "", "", , acNormal
Case 5 'Es el id_acceso del Usuario Facturacion
MsgBox "Este usuario actualmente se encuentra en labores de mantencion, por lo tanto se debera esperar a que el Super-Administrador libere el Entorno para trabajar de forma normal", vbInformation, "INFORMACION"
DoCmd.OpenForm "Entorno de Mantenimiento", acNormal, "", "", , acNormal
End Select
'DoCmd.OpenForm stDocName, , , stLinkCriteria 'Abrimos el formulario correspondiente
DoCmd.Close acForm, Me.NAME 'y cerramos el de acceso
End If
End If
End Sub
Bueno la actualización que deseo realizar el la siguiente:
Como notaran deseo que ademas de acceder al usuario con su correspondiente formulario y permisos. También quiero el pueda elegir la resolución de pantalla con la cual trabajara, para esto yo ya he generado 3 distintos formularios con sus respectivas resoluciones, como por ejemplo para el usuario de Super administrador e generado las siguientes:
Entorno de Super Administrador (1920x1080p) el cual ya esta considerado en el codigo
Entorno de Super Administrador 1600x900
Entorno de Super Administrador 1366x768
Sintetizando quiero adaptar el código para que el usuario final acceda a su apartado correspondiente y con la cualidad de elegir el modo de pantalla.