viernes, 1 de junio de 2018

Access Formulario de Login v.1.0 (Códigos) Semana 6

En el capitulo anterior, no se trató el tema del código que se le debía agregar para otorgar la funcionalidad de iniciar sesión, únicamente vimos como debíamos realizar el diseño de nuestro formulario de Login.
Ahora, en este capítulo, vamos a tratar de mostrar que código vamos a introducir en los distintos eventos o módulos, para agregar la funcionalidad de iniciar sesión al formulario que creamos en el ejemplo anterior.

Paso 1

Empecemos pues, por el primer botón “cmd_Login” alias “Iniciar sesión”, con este botón, una vez introducido el nombre de usuario y su contraseña, si los datos son correctos, iniciaremos una sesión de usuario.
El código que le añadiremos al botón “cmd_Login” en el evento “click” es el siguiente:
Private Sub cmd_Login_Click()
Dim strUsuario As String
Dim strContraseña As String
    strUsuario = Nz(Me.txt_Usuario, "")
    strContraseña = Nz(Me.txt_Password, "")
    
    ' Ocultamos la etiqueta de mensajes
    Me.lbl_Etiqueta.Visible = False
    
    If strUsuario = "" Then
    
        ' Realizamos mensaje sonoro
        Beep
        
        ' Mostramos mensaje en la etiqueta
        Call MensajeEtiqueta("Nombre de usuario requerido.")
        ' Centramos el foco en el textbox
        Me.txt_Usuario.SetFocus
        
        ' Cancelamos la ejecución del código
        Exit Sub
        
    ElseIf strContraseña = "" Then
    
        ' Realizamos mensaje sonoro
        Beep
        ' 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
        ' Comprobamos el valor introducido para el usuario y su contraseña
        If strUsuario = "Juan" Then
        
            If strContraseña = "Acceder" Then
            
                ' Mostramos mensaje
                MsgBox "Sesión de usuario iniciada", _
                        vbInformation, _
                        "Inicio de Sesión"
                
                ' Cerramos el formulario
                DoCmd.Close acForm, Me.Name
            
            Else
            
                ' Mostramos mensaje en la etiqueta
                Call MensajeEtiqueta("Password erróneo.")
                
                ' Centramos el foco en el textbox
                Me.txt_Password.SetFocus
                
            End If
        
        Else
        
            ' Mostramos mensaje
            MsgBox "El usuario introducido no existe", _
                    vbExclamation, _
                    "Usuario no encontrado"
        
        End If
    
    End If
    
End Sub
Si nos fijamos en las líneas 43 y 45, el usuario definido para iniciar sesión en nuestra aplicación, es “Juan” (línea 43) y su contraseña es “Acceder” (línea 45).

Paso 2

Adicional-mente al código agregado al evento “click” del botón “cmd_Login”, agregaremos un procedimiento al modulo del formulario, que nos permitirá mostrar mensajes en la etiqueta.
Private Sub MensajeEtiqueta(strMensaje As String)
Dim lbl As Label
    Set lbl = Me.lbl_Etiqueta
    
    If Nz(strMensaje, "") <> "" Then
        ' Mostramos mensaje
        With lbl
                
            ' Hacemos visible la etiqueta
            .Visible = True
            ' Mostramos el Mensaje de aviso
            .Caption = strMensaje
                
        End With
    
    End If
    
    ' Borramos el objeto
    Set lbl = Nothing
    
End Sub
Como podemos apreciar en el procedimiento, la etiqueta mostrará el mensaje pasado como argumento.

Paso 3

Pasemos ahora al código del evento “click” del botón “cmd_Salir”, que en este caso, simplemente cierra el formulario.
Private Sub cmd_Salir_Click()
    ' Cerramos el Formulario
    DoCmd.Close acForm, Me.Name
    
End Sub

No hay comentarios.:

Publicar un comentario