martes, 2 de octubre de 2012

Log-In en Visual Basic, Ingreso con usuario y contraseña

Se busca crear un Userform al cual se pueda ingresar directamente desde el documento, sin visualizar los datos, a menos que se ingrese con el nombre de usuario y contraseña correctos.


Al ingresar algún dato incorrecto, deberá mostrarse una ventana de error

Para tener acceso a la matriz de Excel, se deben ingresar los datos correctos que ya fueron establecidos. Al hacerlo, deberá mostrarse una ventana de mensaje "Bienvenido"


Se inicia creando un Userform. El área de Nombre de Usuario e Ingresar Contraseña serán etiquetas (Labels), el espacio para escribirlas serán Textbox, y los botones inferiores serán Command Buttons.
Se ingresa el siguiente código en el Command Button "Login":

Private Sub CommandButton1_Click()
If usuario.Text = "Pineda" And contraseña.Text = "12345" Then
MsgBox "Bienvenido a Maderas S.A."
Application.Visible = True
Unload UserForm1
Else
MsgBox "Nombre o Contraseña Incorrectos", vbCritical, "Alerta"

End If
End Sub


El cual indica, que si la primer caja de texto es igual al nombre de usuario indicado, y la segunda es igual a la contraseña, entonces aparecerá una caja con el mensaje "Bienvenido", "Application.Visible=True" es utilizado para mostrar objetos, y "Unload UserForm1" indica que se cierra automáticamente el userform, en caso de que los datos sean correctos.
En caso de datos equivocados, se muestra la caja de mensaje indicándolo, la cual se programa con el código , vbCritical, "Alerta"

En el CommandButton 2 se ingresa el sig. Código, para cancelar la operación:

Private Sub CommandButton2_Click()
Unload UserForm1
End Sub

Al textbox para ingresar contraseña se le cambiará el nombre en las propiedades a la izquierda del Userform. En éste caso, será denominado "contraseña"
Se ingresa el sig. Código:

Private Sub contraseña_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
contraseña.Text = ""
contraseña.ForeColor = &H400040
contraseña.PasswordChar = "*"
End Sub

El cual indica en "MouseDown" que, al hacer click sobre la caja de texto, se borrará el contenido. 
Ésto se realiza, cambiando las propiedades en la parte superior derecha de la ventana, cambiando las propiedades.


También se especifica el color del texto de fondo, y se utiliza "*" para sustituír y proteger los datos.
Lo mismo se realiza con el espacio de  usuario, con el sig. código:

Private Sub usuario_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
usuario.Text = ""
usuario.ForeColor = &H400040
End Sub





No hay comentarios:

Publicar un comentario