Hola, tengo un problema con visual basic, con el tema del codigo a la hora de hacer el login.
Me e informado en esta web:http://www.recursosvisualbasic.com.ar/htm/trucos-codigofuente-visual-basic/284-login-de-usuario-base-de-dato.htm ,pero le doy a aceptar y nada, cancelar y nada, cerrar y me sale el programa xD
pongo mi codigo:
Frmlogin:
spoiler Option Explicit
' Flag
Dim OK As Boolean
Private Sub cmdEntrar_Click()
' Cadena de conexión ( INDICAR EL PATH DE LA BASE DE DATOS )
Const C_CADENA = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & "c:\bd1.mdb" & ";"
' Variable para el recordset
Dim Rst_Login As Recordset
' crea el recordset
Set Rst_Login = New Recordset
Dim SQL As String
' consulta SQL ( Campos: Nombre y Password) _
Textbox ( txt_Usuario y txt_Password) _
Tabla: Usuarios
SQL = "SELECT Nombre, Password " & _
"FROM Usuarios " & _
"WHERE Nombre = '" & txt_Usuario.Text & "'" _
& "AND Password = '" & txt_Password.Text & "'"
With Rst_Login
' Abre el recordset
.Open SQL, C_CADENA
' Si el recordset está vacío es por que es incorrecto
If .EOF Then
MsgBox " El usuario o Password es incorrecto ", _
vbCritical, " Login incorrecto "
' Cierra y descarga el Recordset
Rst_Login.Close
Set Rst_Login = Nothing
Exit Sub
End If
End With
' Cierra y descarga el Recordset
Rst_Login.Close
Set Rst_Login = Nothing
'Cambia el Flag para que no cierre el programa con End
OK = True
' Descarga el formulario y prosigue en el SubMain
Unload Me
End Sub
Private Sub cmdSalir_Click()
OK = False
Unload Me
End Sub
Private Sub Form_Unload(Cancel As Integer)
Set frmLogin = Nothing
If OK = False Then
End
End If
End Sub
module1:
spoilerOption Explicit
Public Sub Main()
' Abre el formulario para el ingreso _
del Usuario y la contraseña
frmLogin.Show vbModal
MsgBox " ..bienvenido ", vbInformation, " Login Correcto "
' Abre el formulario principal del programa
Form1.Show
End Sub
PD: tengo la base de datos a nombre bd1 en c:, tengo tmb la tabla a nombre: usuarios y todo ese tema esta correcto :S gracias de antemano!