¿Código en access para acceder a un determinado formulario según el tipo de usuario?
Favor nuevamente su ayuda:
Tengo un sistema creado en access, el mismo me permite validar SU ACCESO entre el nombre_usuario y su clave_usuario de la tabla USUARIOS una vez ingresado; lo que requiero es un código que me permita según sea el tipo de acceso "Id_acceso" (Administrador o Usuario) que forma parte de los campos de la tabla USUARIOS, ir al formulario correspondiente; es decir si la persona tiene registrado el Id_accesso "Administrador" una vez validado el usuario y su clave me la envíe al formulario "ADMINISTRADOR"; en cambio si tiene registrado el Id_accesso "Usuario" una vez validado su usuario y clave me la envíe al formulario "USUARIO".
Adjunto el código que tengo hasta el momento; favor su ayuda y de antemano mi agradecimiento:
Option Compare Database
Option Explicit
Private Sub CmdAceptar_Click()
On Error GoTo err:
'variable local para nombre y clave de usuario
Dim NOMUSU As String
Dim CVEUSU As String
'Asignar el valor de los controles a las variables locales
NOMUSU = UCase(Nz(Me.TxtNombre_Usuario.Value, ""))
CVEUSU = UCase(Nz(Me.TxtCLAVE_USUARIO.Value, ""))
If IsEmpty(NOMUSU) Or IsEmpty(CVEUSU) Then
MsgBox "Datos Incompletos...", vbOKOnly + vbCritical, "Imposible Ingresar!!"
Else
'Buscar Usuario con los datos ingresados
If ExisteUsuario(NOMUSU, CVEUSU) = True Then
MsgBox "Bienvenido al Sistema", vbOKOnly + vbInformation, "Acceso Exitoso"
DoCmd.Close 'Cerrar ventana de Acceso
'Código para entrar al sistema,, estén pendiente con las PRÓXIMAS ENTREGAS!
Else
NumIntento = NumIntento + 1
If NumIntento <= 2 Then
MsgBox "Usuario o Clave incorrecta", vbCritical + vbOKOnly, "Acceso Denegado" Me.TxtNombre_Usuario.Value = ""
Me.TxtCLAVE_USUARIO.Value = ""
Me.TxtNombre_Usuario.SetFocus
Else
MsgBox "Demasiados Intentos, el Sistema se cerrara!", vbCritical + vbOKOnly, "Fallas de Acceso"
DoCmd.Quit
End If
End If
End If
Exit Sub
err:
MsgBox err.Description
End Sub
Public Function ExisteUsuario(strNomUsuario As String, strCveUsuario As String) As Boolean On Error GoTo us_err
Dim Rst As DAO.Recordset
Dim sql As String
sql = "SELECT * FROM [USUARIOS] US WHERE US.[NOMBRE_USUARIO]='" & strNomUsuario & "' AND US.[CLAVE_USUARIO]='" & strCveUsuario & "'"
Set Rst = CurrentDb.OpenRecordset(sql)
If Rst.BOF And Rst.EOF Then
ExisteUsuario = False
Else
ExisteUsuario = True
'Se Inicializar las variables de Sesión
xNOMBRE_USUARIO = Rst!NOMBRE_USUARIO
xCLAVE_USUARIO = Rst!CLAVE_USUARIO
xNOMBRE = Rst!NOMBRE
xAPELLIDO_PATERNO = Rst!APELLIDO_PATERNO
xAPELLIDO_MATERNO = Rst!APELLIDO_MATERNO
xVENTAS = Rst!VENTAS
xADMINISTRAR = Rst!ADMINISTRAR
xREPORTES = Rst!REPORTES
xCATALOGOS = Rst!CATÁLOGOS
xCONSULTAS = Rst!CONSULTAS
xCANCELAR_VENTA = Rst!CANCELAR_VENTA
xID_ACCESO = Rst!ID_ACCESO
End If
Rst.Close
Set Rst = Nothing
Exit Function
us_err:
MsgBox err.Description
End Function
Atentamente.
César Bustos
ECUADOR