Access - Registrar login

   
Vista:

Registrar login

Publicado por Cristian (29 intervenciones) el 07/06/2016 03:34:42
Hola, buscando en la web encontre un codigo (de Miguel Sandoval) que me funciona de maravilla me anexaba los usuarios en una tabla llamada acceso que tiene el IDNombre (Numero) que coincide con la tabla Usuario y un IDAcceso (autonumerico) y guarda fecha y hora de acceso y el codigo es

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
Private Sub Iniciar_Sesión_Click()
On Error GoTo Err_Iniciar_Sesión_Click
 
'Esta línea pregunta si ha seleccionado un usuario desde la lista
If IsNull(Usuario) Then
 
    MsgBox "No ha indicado un usuarios desde la lista", vbExclamation, "Iniciar Sesión"
    Exit Sub
Else
    'Esta línea compara si la contraseña ingresada por el usuario es igual a la que esta almacenada para el usuario en la columna 2 del cuadro de lista.
    If Usuario.Column(2) = Contraseña Then
        MsgBox "ha iniciado sesión con éxito", vbInformation, "Iniciar Sesión"
 
        ' aquí valida si es administrador
        If Usuario.Column(3) = 1 Then
 
            MsgBox "Bienvenido Sr. Administrador", vbInformation, "BIENVENIDO" '"Acceso"
            'Aquí debes colocar el código para abrir el formulario de administrador.
            DoCmd.OpenForm "Panel1", acNormal, "", "", , acNormal
        End If
 
        'Aquí valida si es susuario.
        If Usuario.Column(3) = 2 Then
 
            MsgBox "Bienvenido Sr. Usuario", vbInformation, "BIENVENIDO" '"Acceso"
            'Aquí debes colocar el código que abrirá el formulario de usuario
            DoCmd.OpenForm "Panel2", acNormal, "", "", , acNormal
 
        End If
        'Aquí escribiremos el código para ejecutar la consulta de agregación
        Dim Consulta As String
        Consulta = "Consulta_Acceso"
        'Hacemos esta línea para desabilitar las notificaciones de sistema
        DoCmd.SetWarnings False
 
        DoCmd.OpenQuery Consulta, acViewNormal, acEdit
        'Aquí volvemos a habilitar las notificaciones de sistema
        DoCmd.SetWarnings True
        DoCmd.Close acForm, Me.Name 'y cerramos el de acceso
        'DoCmd.OpenForm "Panel1", acNormal, "", "", , acNormal
 
    Else
 
        MsgBox "Contraseña incorrecta", vbExclamation, "Iniciar Sesión"
        'DoCmd.Close acForm, Me.Name 'y cerramos el de acceso
 
        Exit Sub
    End If
End If
 
 
Exit_Iniciar_Sesión_Click:
    Exit Sub
 
Err_Iniciar_Sesión_Click:
    MsgBox Err.Description
    Resume Exit_Iniciar_Sesión_Click
 
End Sub

pero tenia que hacer un panel por cada usuario que se registrara y era engorroso, por lo que segui buscando y encontre otro codigo de Otto Gonzales que lo que hace es activar los modulos de acuerdo al usuario logueado, el codigo es
Private Sub Comando1_Click()

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
If IsNull(Me.txtUsuario) Then
        MsgBox "Por favor, escriba su Usuario", vbInformation, "Usuario requerido"
        Me.txtUsuario.SetFocus
    ElseIf IsNull(Me.txtPass) Then
        MsgBox "Por favor, ingrese su Contraseña", vbInformation, "Contraseña requerida"
        Me.txtPass.SetFocus
    Else
        If (IsNull(DLookup("[Usuario]", "Usuarios", "[Usuario] ='" & Me.txtUsuario.Value & _
        "' And Pass = '" & Me.txtPass.Value & "'"))) Then
            MsgBox "Usuario y/o Contraseña incorrectos"
        Else
            UserLevel = DLookup("Admin", "Usuarios", "Usuario = '" & Me.txtUsuario.Value & "'")
 
            If UserLevel = -1 Then
                LogedUser = Me.txtUsuario.Value
                DoCmd.Close
                DoCmd.OpenForm "Menu_Principal"
            Else
                LogedUser = Me.txtUsuario.Value
                DoCmd.Close
                DoCmd.OpenForm "Menu_Principal"
            End If
 
    End If
End If
End Sub

Pero no me queda registrado en ningun lado por lo que quisiera si alguien me ayuda a unir los 2 o hacer que el ultimo me guarde el usuario con fecha y hora que ingresa
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Registrar login

Publicado por Enrique Heliodoro (1663 intervenciones) el 07/06/2016 10:54:31
Creo que no te has parado a analizar 'lo que hace el código' (sin entrar en detalles, solo en base a los comentarios que añades en el) ...

Hay una 'acción especifica' que guarda al usuario que se registra y a todas luces es independiente del resto del proceso (si le borras esas líneas, funcionara como antes sin guardar los detalles de acceso).

Esa parte es 'trasladable' al otro código y solo es cuestión de copiar y pegar (si acaso adaptar los campos: sus nombres) pero eso no creo que suponga un problema (asumo que algo similar ya lo habrás hecho al adaptar el código) ......
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Registrar login

Publicado por Cristian (29 intervenciones) el 07/06/2016 19:00:48
Gracias, muchisimas gracias, la verdad y de corazon me hiciste pensar, y probar donde estaba la solucion y lo pude hacer funcionar.

Gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar