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
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
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
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
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
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
Proyecto
==================================================================
2_ Le ponemos un nombre, yo le pondre "Login básico"
==================================================================
3_ Luego debemos seleccionar 2 Labels. (Podemos darle doble click o arrastrarlas)
2 TextBox. (Podemos darle doble click o arrastrarlas)
y 1 Botón. (Podemos darle doble click o arrastrarlas)
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.
Nos quedaría asi:
=================================================================
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
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"
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.
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")
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

284

  • 1.
    284 - Simpleformulario 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 utilizauna 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 sigueel 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 enel 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 aenseñ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
  • 7.
  • 8.
    ================================================================== 3_ Luego debemosseleccionar 2 Labels. (Podemos darle doble click o arrastrarlas)
  • 9.
    2 TextBox. (Podemosdarle doble click o arrastrarlas) y 1 Botón. (Podemos darle doble click o arrastrarlas)
  • 10.
    Nos tendría quequedar 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.
  • 11.
  • 12.
    ================================================================= 5_ Le dandoble 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 datosson 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 queusuario 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