Apertura de Formulario luego de acceso

Hola Buen Día:
Tengo necesidad de resolver el siguiente problema:
- Acceder a formularios diferentes de acuerdo al usuario que accede a la base de datos, por ejemplo si Usuario es: Usuario1 accede a Formulario1, si Usuario=Usuario2 accede a Form2, y así sucesivamente.
Copié el siguiente código, pero no da como resultado lo que yo necesito:
Option Compare Database
Dim QuienAccede As Integer
_____________________________________________________________
Private Sub CmdAcceder_Click()
     Dim stDocName As String
     Dim stLinkCriteria AsString
     Dim auxiliarContraseña As String
     If Nz(Me.TxtUsuario.value, "") = "" Then
         MsgBox "Para acceder debe seleccionar un nombre de la lista", vbinformation, "ATENCION"
          Me.TxtUsuario.SetFocus
     ElseIf Nz(Me.TxtConstraseña.Value, "") = "" Then
          MsgBox "Introduzca la Contraseña del Usuario seleccionado", vbinformation, "ATENCION"
          Me.TxtContraseña.SetFocus
          Else
                If Not isNull (DLookup("Contraseña", "Empleados", "IdEmpleado=" & Me![TxtUsuario) & "")) Then
                auxContraseña = DLookup ("Contraseña", "Empleados", "IdEmpleado=" & Me![TxtUsuario] & "") 
                End If
                If auxContraseña (signo diferente) Me.TxtContraseña.Value Then
                   MsgBox "La Contraseña introducida es incorrecta" & vbCrLf & "Por favor introduzca otra", vbExclamation, _ "INTRODUCCION INCORRECTA"
                                                       Me.TxtContraseña. Value =""
                                                       Me.TxtContraseña.SetFocus
                Else
                                                       stDocName = "Form1"
                                                       stLinkCriteria = "[IdEmpleado]=" & Me![TxtUsuario] & ""
                                                       MsgBox "Permiso Autorizado"
                                                       DoCmd.OpenForm stDocName,,, stLinkCriteria
               End If
End If
Exit_CmdAcceder_Click:
      Exit Sub
End Sub
______________________________________________________________________
Tengo una tabla Empleados con los campos IdEmpleado, Usuario, Contraseña.
Y el código lo ejecuto desde un botón en un formulario de acceso (FormAcceso)
Ahora no se como continuar, para lograr mi cometido.
La verdad que hace poco me inicié en Access, lo estoy aprendiendo sin conocimientos previos de informática, y te agradecería muchísimo tu colaboración.
Gracias

1 Respuesta

Respuesta
1
Yo manejo lo que tu me estas comentando y te envío el código:
Private Sub Command4_Click()
Dim Base As Database
Dim pass As Recordset
Dim respuesta
Set Base = CurrentDb
Set pass = Base.OpenRecordset("select * from pass where Usuario = '" & Usuario & "' and password = '" & Contrasena & "'")
If pass.RecordCount = 0 Then
respuesta = MsgBox("Contraseña incorrecta", vbCritical, "Clave o Usuario invalidos")
Contrasena.Value = ""
Usuario.Value = ""
Usuario.SetFocus
Exit Sub
End If
'Fijate que da igual que la contraseña este mal, o el usuario no exista. De este modo no das pista al posible intruso.
'Si la ejecucion llega a este punto, es que el usuario y la contraseña son validos. Ahora solo queda Abrir el formulario adecuado a cada usuario.
DoCmd. OpenForm pass! Prioridad
DoCmd. Close acForm, "Inicio"
Ahora:
Usuario y contraseña: Son los nombres de los TextBox del formulario donde se colocan el usuario y la contraseña respectivamente.
Pass: es el nombre de la tabla donde esta los usuarios, contraseña y nivel de administración que manejara, los campos que debe tener esta tabla son: Usuario, Password; Prioridad (define a que formulario tendrá acceso y debe ser el nombre del formulario que podrá ingresar).
Espero sea lo que estabas necesitando, es muy fácil de usar.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas