1. 284 - Simple formulario de Login usando base de
datos
<Volver> - Anterior - Siguiente
Ejemplos
Ejemplo simple sin encriptar
Ejemplo para encriptar la información y con inicio de sesión para múltiples
usuarios
Enlaces relacionados
Ejemplo simple para abrir un formulario de ingreso
pidiendo el nombre de usuario y password para
ingresar al programa
2. Lo siguiente utiliza una base de datos con una tabla que tiene dos campos, uno
llamado " Nombre " y otro campo llamado " Password ".
Al ejecutar el programa, se inicia desde un SubMain y un formulario de Login. Este
último , se conecta a la base de datos utilizando Ado para traer los datos del usuario
al recordset y comprobar si son correctos y poder entrar al formulario principal
Pasos para crear el ejemplo:
Crear una tabla llamada Usuarios
Dentro de esta tabla añadir dos campos, uno llamado Nombre y otro Password
Al proyecto añadir dos formularios ( frmLogin y frmPrincipal )
Un módulo bas
Añadir la referencia a Microsoft Activex xx Data Objects para poder utilizar
ADO
El formulario frmLogin debe tener dos textBox ( txt_Usuario y txt_Password ) y dos
commandButton ( cmdEntrar y cmdSalir )
Luego indicar desde el menú Proyecto > Propiedades del proyecto .. en la opción "
Objeto inicial " , el procedimiento Sub Main
3. A continuación sigue el código a agregar en el módulo bas y el código del
formulario frmLogin
código fuente del módulo bas
Texto planoImprimir
1. Option Explicit
2.
3. Public Sub Main()
4.
5.
6. ' Abre el formulario para el ingreso _
7. del Usuario y la contraseña
8. frmLogin.Show vbModal
9.
10. MsgBox " ..bienvenido ", vbInformation, " Login Correcto "
11. ' Abre el formulario principal del programa
12. FrmPrincipal.Show
13.
14. End Sub
4. Código fuente en el formulario FrmLogin
Texto planoImprimir
1. Option Explicit
2.
3.
4. ' Flag
5. Dim OK As Boolean
6.
7.
8. Private Sub cmdEntrar_Click()
9.
10. ' Cadena de conexión ( INDICAR EL PATH DE LA BASE DE DATOS )
11. Const C_CADENA = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
12. "Data Source=" & "c:bd1.mdb" & ";"
13.
14. ' Variable para el recordset
15. Dim Rst_Login As Recordset
16.
17. ' crea el recordset
18. Set Rst_Login = New Recordset
19.
20. Dim SQL As String
21.
22. ' consulta SQL ( Campos: Nombre y Password) _
23. Textbox ( txt_Usuario y txt_Password) _
24. Tabla: Usuarios
25.
26. SQL = "SELECT Nombre, Password " & _
27. "FROM Usuarios " & _
28. "WHERE Nombre = '" & txt_Usuario.Text & "'" _
29. & "AND Password = '" & txt_Password.Text & "'"
30.
31. With Rst_Login
32. ' Abre el recordset
33. .Open SQL, C_CADENA
34.
35. ' Si el recordset está vacío es por que es incorrecto
36. If .EOF Then
37. MsgBox " El usuario o Password es incorrecto ", _
38. vbCritical, " Login incorrecto "
39. ' Cierra y descarga el Recordset
40. Rst_Login.Close
41. Set Rst_Login = Nothing
42. Exit Sub
43. End If
44. End With
45.
46. ' Cierra y descarga el Recordset
47. Rst_Login.Close
48. Set Rst_Login = Nothing
49.
50. 'Cambia el Flag para que no cierre el programa con End
51. OK = True
52.
53. ' Descarga el formulario y prosigue en el SubMain
54. Unload Me
55.
56. End Sub
57.
58. Private Sub cmdSalir_Click()
59. OK = False
5. 60. Unload Me
61. End Sub
62.
63. Private Sub Form_Unload(Cancel As Integer)
64. Set frmLogin = Nothing
65. If OK = False Then
66. End
67. End If
68. End Sub
Ejemplo de inicio de sesión para múltiples usuarios
Este es un código fuente mas completo creado por Michael Ciurescu, y muestra como
hacer un inicio de sesión para varios usuarios del programa, y la información de
acceso ( usuario y password ) almacenarla en una base de datos Access, aunque
también se puede adaptar fácilmente para otras bases de datos como por ejemplo
sql server o mysql.
Para encriptar los datos utiliza el algoritmo MD5 de 128 Bit, y el proyecto de ejemplo
contiene un formulario con un control listview para mostrar los campos ID y
username de la base de datos, y un botón para agregar nuevos usuarios.
vista previa de la pantalla para añadir nuevos registros
Descargar código fuente del proyecto
Como crear un login basico en
Visual Basic
6. GIF
Hola, voy a enseñarles a hacer un login muy basico.
Funciona con todas las versiones de Visual Basic a partir del VB 2005
Yo recomiendo el 2008 express edition porque es gratis y muy completo.
Basicamente, es una ventana que dice Usuario:
Contraseña:
Entrar
_El usuario y contraseña se configura cuando se crea el programa.
_Nos avisa si algun campo esta en blanco, o los datos son incorrectos.
1_Para crear un nuevo proyexto vamos a Archivo ---> Nuevo
9. 2 TextBox. (Podemos darle doble click o arrastrarlas)
y 1 Botón. (Podemos darle doble click o arrastrarlas)
10. Nos tendría que quedar así
=================================================================
4_ Para cambiarle el texto a los Labels y al boton, lo seleccionamos y abajo a la derecha,
en la ventana de propiedades nos vamos a "Text" y ahí lo cambiamos.
12. =================================================================
5_ Le dan doble click al boton de entrar y les aparecerá algo asi.
=================================================================
6_Ahora, pegan el siguiente codigo:
If TextBox1.Text = "" And TextBox2.Text = "" Then
MsgBox "Los campos se encuentran vacios"
Else
If TextBox1.Text = "" Then
MsgBox "El campo USUARIO se encuentra vacio"
Else
If TextBox2.Text = "" Then
MsgBox "El campo CONTRASEÑA se encuentra vacio"
Else
If TextBox1.Text = "TuUsuario" And TextBox2.Text = "TuContraseña" Then
Me.Hide()
form2.show()
Else
13. MsgBox "Los datos son incorrectos"
End If
End If
End If
End If
Y le quedaría algo así
(Si les sale algun tipo de error, no se preocupen)
Deben cambiar las partes que dicen "TuUsuario" y "TuContraseña", por su usuario y
contraseña.
=================================================================
7_ Ahora, debemos crear otro formulario, que es a donde nos llevara, luego de iniciar
sesion. Para ello, damos clic derecho en "Login Básico"
14. Luego vamos a "Agregar" ----> "Windows Forms" ----> Y luego lo dejamos tal cual esta
(Form2.vb) y ponemos guardar.
En el form2, Tiene que estar todo lo que nos aparece cuando nos logueamos.
Para ver como nos quedo, tocamos f5.
A este sistema, se le puede agregar cosas como que se oculten los caracteres de la
contraseña, o que no se pueda maximizar, agregar iconos, mil cosas, pero recuerden que
este es un tutorial BÁSICO.
Simular acceso con usuario y
password en Excel con formulario
vba
BY SERGIO ALEJANDRO CAMPOS · MARCH 30, 2012
En esta ocasión les comparto un ejemplo donde se simula el acceso a un
sistema mediante el ingreso de un Usuario y una Contraseña.
Lo vamos a realizar mendiante un formulario de vba que nos pida y nos valide
los siguientes datos:
1. Que tanto el usuario como la contraseña estén llenos.
2. Que el usuario ingresado exista en la tabla de usuarios.
3. Que coincida el usuario ingresado con su contraseña.
15. Para validar que usuario existe se hace mediante la función COUNT.IF de
vba; para elegir al usuario encontrado se hace con el método Find; y por
último para validar que el usuario y la contraseña coincidan, se realiza
haciendo un Offset de la celda encontrada.
Ver video Formulario vba para validar usuario y contraseña en Excel con
macros
Imagen del formulario de acceso
Imagen de la tabla de usuarios
Código del formulario
':: By: Sergio Alejandro Campos Hernández
':: Date: marzo de 2012
':: http://exceleinfo.wordpress.com
':: Purpose:simularacceso con usuario y contraseña
'
Private Sub CommandButton2_Click()
Dim usuario As String
Dim password As Variant
Dim DatoEncontrado
Blog = "EXCELeINFO"
UsuarioExistente = Application.WorksheetFunction.CountIf(Range("D3:D12"), _
Me.txtUsuario.Value)
Set Rango = Range("D3:D12")
16. If Me.txtUsuario.Value = "" Or Me.txtPassword.Value = "" Then
MsgBox "Porfavorintroduce usuario y contraseña", vbExclamation, Blog
Me.txtUsuario.SetFocus
ElseIf UsuarioExistente = 0 Then
MsgBox "El usuario '" & Me.txtUsuario & "' no existe", vbExclamation, Blog
ElseIf UsuarioExistente = 1 Then
DatoEncontrado = Rango.Find(What:=Me.txtUsuario.Value,
MatchCase:=True).Address
Contrasenia = Range(DatoEncontrado).Offset(0, 1).Value
If Range(DatoEncontrado).Value = Me.txtUsuario.Value And Contrasenia =
_
Me.txtPassword.Value Then
Range("G2").Value = "Usuario:" & Range(DatoEncontrado).Offset(0, -
1).Value
'Aquíva el código para daracceso a todolo que elprogramadordecida
Unload Me
Else
MsgBox "La contraseña es inválida", vbExclamation, Blog
End If
End If
End Sub