Parte 11 Ventana de Perfil de Usuario

En esta parte se enseño como traer datos desde variables globales, estos valores se guardaron al iniciar sesión en la ventana de Login se tomas todos los datos del usuarios y se guardan en variables globales.

En el modulo conexión se crearon las siguientes variables:

'----------- Variables de Usuario
Global Glo_UsuarioLogin As String
Global Glo_NombreUsuario As String
Global Glo_IdentificacionUs As String
Global Glo_IdUsuario As Integer

En El modulo mod_consultas la función de login se llenaron las variables globales con los datos del usuario:

Function Validar_Usuario(usuario As String, Password As String) As Boolean
    Dim RecorsetTemp  As New ADODB.Recordset
    Dim Sql As String
    Dim Clave As String

 
    Clave = EncryptString("4mkiujn4", Password, 1)
    
    
    Sql = "Select * from tblUsuarios where usuario = '" & usuario & "' and password_us = '" & Clave & "'"
    RecorsetTemp.Open Sql, ConexionADO
    
    If RecorsetTemp.RecordCount > 0 Then
       Glo_IdUsuario = RecorsetTemp("IdUsuario")
       Glo_UsuarioLogin = RecorsetTemp("usuario")
       Glo_NombreUsuario = RecorsetTemp("nombres_apellidos")
       Glo_IdentificacionUs = RecorsetTemp("Identificacion")
       Validar_Usuario = True
    Else
       Validar_Usuario = False
    End If
    
End Function

En la ventana de frmPerfilUsuario se creo el sub procedimiento con que se cargan los datos del usuario en el formulario con las variables globales:

Sub LlenarDatosUsuario()
    txtUsuario.Text = Glo_UsuarioLogin
    txtIdentificacion.Text = Glo_IdentificacionUs
    txtNombreApellido.Text = Glo_NombreUsuario
End Sub

Y desde el Load este mismo formulario se llama a esa funcion de llenar:

Private Sub Form_Load()
    Call LlenarDatosUsuario
    Call InabilitarControles
    
End Sub

De esta manera cuando el usuario abre el formulario de Perfil de Usuario se llenan automáticamente los datos del usuario en el formulario.

Se crearon 2 sub procedimientos uno para habilitar los controles cuando se de clic al botón de modificar y otra inhabilitar cuando se cargar el formulario y cuando se guardan los datos:

Sub InabilitarControles()
    txtUsuario.Enabled = False
    txtPassword.Enabled = False
    txtConfirmarPassw.Enabled = False
    txtIdentificacion.Enabled = False
    txtNombreApellido.Enabled = False
    cmdCambiarPassword.Enabled = False
    cmdGuardar.Enabled = False
    imgMostrarPassw.Enabled = False
End Sub

Sub HabilitarControles()
    txtUsuario.Enabled = True
    txtPassword.Enabled = True
    txtConfirmarPassw.Enabled = True
    txtIdentificacion.Enabled = True
    txtNombreApellido.Enabled = True
    cmdCambiarPassword.Enabled = True
    imgMostrarPassw.Enabled = True
    cmdGuardar.Enabled = True
    cmdModificar.Enabled = False
End Sub

 

Antes de actualizar se hacen las siguientes validaciones en el botón de guardar:

Private Sub cmdGuardar_Click()
    If txtUsuario.Text = "" Then
       MsgBox "Debe llenar el Campo Usuario", vbExclamation, "Error"
       txtUsuario.SetFocus
       Exit Sub
    End If
    If txtIdentificacion.Text = "" Then
       MsgBox "Debe llenar el Campo Identificación", vbExclamation, "Error"
       txtIdentificacion.SetFocus
       Exit Sub
    End If
    
    If txtNombreApellido.Text = "" Then
       MsgBox "Debe llenar el Campo Nombres y Apellidos", vbExclamation, "Error"
       txtNombreApellido.SetFocus
       Exit Sub
    End If
    Call GuardarUsuario
End Sub

 

Lo siguientes es actualizar los datos del usuario, para eso se creo un sub procedimiento que actualiza los datos del usuario:

Sub GuardarUsuario()
    Dim Res As VbMsgBoxResult
    
    Res = MsgBox("¿Esta seguro de modificar los datos de Usuario?", vbYesNo, "Guardar")
    
    If Res = vbYes Then
        
       Sql = "Update tblUsuarios Set usuario = '" & txtUsuario.Text & "', nombres_apellidos = '" & txtNombreApellido.Text & "', Identificacion = '" & txtIdentificacion.Text & "' Where IdUsuario = " & Glo_IdUsuario
       ConexionADO.Execute Sql
        
       Glo_UsuarioLogin = txtUsuario.Text
       Glo_IdentificacionUs = txtIdentificacion.Text
       Glo_NombreUsuario = txtNombreApellido.Text
    
        
       MsgBox "Usuario Guardado", vbInformation, "Guardar"
    End If
    
End Sub

Se coloco un boton de Cambiar contraseña para que el usuario tenga mas clara la manera de cambiar su contraseña. Se creo un sub procedimiento para este fin. Este es el código del botón Cambiar Contraseña:

Private Sub cmdCambiarPassword_Click()
    If txtPassword.Text = "" Then
       MsgBox "Debe llenar el Campo Contraseña", vbExclamation, "Error"
       txtPassword.SetFocus
       Exit Sub
    End If
    If txtConfirmarPassw.Text = "" Then
       MsgBox "Debe llenar el Campo Confirmar Contraseña", vbExclamation, "Error"
       txtConfirmarPassw.SetFocus
       Exit Sub
    End If
    
    If Len(txtPassword.Text) < 5 Then
       MsgBox "Las contraseña debe tener como minimo 5 carácteres", vbExclamation, "Error"
       txtPassword.SetFocus
       Exit Sub
    End If
    
    If txtPassword.Text <> txtConfirmarPassw.Text Then
       MsgBox "Las contraseña no coinciden verifique", vbExclamation, "Error"
       txtPassword.SetFocus
       Exit Sub
    End If
    
    Call CambiarPassword
End Sub

Y este es el código del sub procedimiento de CambiarPassword

Sub CambiarPassword()
    Dim Res As VbMsgBoxResult
    
    Res = MsgBox("¿Esta seguro de la contraseña?", vbYesNo, "Guardar")
    
    If Res = vbYes Then
        
       Clave = EncryptString("4mkiujn4", txtPassword.Text, 1)
        
       
       Sql = "UPDATE tblUsuarios as us SET us.password_us='" & Clave & "' Where us.IdUsuario = " & Glo_IdUsuario
       ConexionADO.Execute Sql
        
       MsgBox "Contraseña Cambiada con exito", vbInformation, "Guardar"
    End If
    
End Sub

Y por último se coloco una imagen al lado del cuadro de texto contraseña para que al dar clic sostenido mostrara la contraseña y si soltamos el clic del mouse vuelve a ocultar la contraseña, esto se hizo con el siguiente código:

Private Sub Image1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
   txtPassword.PasswordChar = ""
End Sub

Private Sub Image1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
    txtPassword.PasswordChar = "*"
End Sub

Cualquier duda o inquietud dejen sus comentario:

Siguiente Lección Parte 12 Creación de la Ventana de Administración de Usuarios P1

 

Comentarios de Facebook

Deja un comentario