En esta lección ya entramos al manejo de base datos y aprenderán como se insertan datos en una base de datos MS Access.
Iniciando
En un modulo de Visual Basic se van a crear los sub procedimientos necesarios para hacer la consulta a la base de datos y validar el usuario. Se va a usar una función para encriptar la contraseña de la base de datos, de esta manera en caso de que alguien entre a nuestra base de datos no pueda saber cual es la contraseña. Lo que hace este software muy seguro.
Se creo un registro en la tabla Usuarios que son los datos del administrador.
En Visual Basic, se tomo una función de la página recursosvisualbasic.com.ar para encripdar datos, esta se uso para encriptar la contraseña de los usuarios.
Esta es la función:
'--------------------------------------------------------------------- ' EncryptString ' Modificado por Harvey T. '--------------------------------------------------------------------- 'El parámetro UserKey es la clave. 'El parámetro Text es el texto a encriptar o desencriptar. 'El parámetro Action indica QUE hacer, ..es decir Encriptar o desencriptar. ( El valor ENCRYPT es para encriptar y el valor DECRYPT para desencriptar) 'url: http://www.recursosvisualbasic.com.ar/htm/trucos-codigofuente-visual-basic/269-encriptar-desencriptar.htm '//For Action parameter in EncryptString Const ENCRYPT = 1 Const DECRYPT = 2 Public Function EncryptString(UserKey As String, Text As String, Action As Single) As String Dim UserKeyX As String Dim Temp As Integer Dim Times As Integer Dim i As Integer Dim j As Integer Dim n As Integer Dim rtn As String '//Get UserKey characters n = Len(UserKey) ReDim UserKeyASCIIS(1 To n) For i = 1 To n UserKeyASCIIS(i) = Asc(Mid$(UserKey, i, 1)) Next '//Get Text characters ReDim TextASCIIS(Len(Text)) As Integer For i = 1 To Len(Text) TextASCIIS(i) = Asc(Mid$(Text, i, 1)) Next '//Encryption/Decryption If Action = ENCRYPT Then For i = 1 To Len(Text) j = IIf(j + 1 >= n, 1, j + 1) Temp = TextASCIIS(i) + UserKeyASCIIS(j) If Temp > 255 Then Temp = Temp - 255 End If rtn = rtn + Chr$(Temp) Next ElseIf Action = DECRYPT Then For i = 1 To Len(Text) j = IIf(j + 1 >= n, 1, j + 1) Temp = TextASCIIS(i) - UserKeyASCIIS(j) If Temp < 0 Then Temp = Temp + 255 End If rtn = rtn + Chr$(Temp) Next End If '//Return EncryptString = rtn End Function
Luego en el modulo de mod_consultas se creo una función de validar Usuarios:
Nota: Visual Basic y MS Access tiene problemas para aceptar el campo password en la base de datos por lo cual debe cambiarlo a otro en mi caso lo llamare password_us debe hacer este cambio en la base de datos.
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_NombreUsuario = RecorsetTemp("nombres_apellidos") Glo_IdUsuario = RecorsetTemp("IdUsuario") Glo_IdentifUsuario = RecorsetTemp("identificacion") Validar_Usuario = True Else Validar_Usuario = False End If End Function En el formulario de frmLogin en el evento clic del boton ingresar se coloco el siguiente código: Private Sub cmdIngresar_Click() If Validar_Usuario(txtUsuario.Text, txtPassword.Text) = True Then frmPrincipal.Show Unload Me Else MsgBox "Usuario no válido", vbCritical, "Erro de Usuario" End If End Sub
Se creo el formulario MDI frmPrincipal que sera la ventana principal de la aplicación.
Iconos para usar en nuestra aplicación:
411 Iconos para Visual Basic 6 (1411 descargas ) 88 Iconos Visual Basic 6 (1164 descargas ) 126 Iconos Visual Basic 6 (1166 descargas ) 400 Iconos para Visual Basic 6 (1276 descargas )