El siguiente ejemplo nos ilustra la manera de acceder a un userfom de VBA excel a través del usuario y la contraseña que se encuentran registradas en una tabla de la base de datos en MySsql.
Private Sub Acceso_Click()
Dim conexion As New ADODB.Connection
'lo mismo para el nombre del servidor, base de datos, usuario y la consulta sql
Dim miservidor, bd, user, sql As String
'el Recordset
Dim rs As ADODB.Recordset
'Estableciendo la conexión
miservidor = "127.0.0.1"
bd = "control"
user = "root"
Set conexion = New ADODB.Connection 'con esto utilizamos la conexión indicada más arriba
conexion.Open "DRIVER={MySQL ODBC 3.51 Driver}" _
& ";SERVER=" & miservidor _
& ";DATABASE=" & bd _
& ";UID=" & user _
& ";OPTION=16427?"
Set rs = New ADODB.Recordset
sql = "SELECT usuario, pass " & _
"FROM Usuarios " & _
"WHERE usuario = '" & TextBox1.Text & "'" _
& "AND Pass = '" & TextBox2.Text & "'"
With rs
' Abre el recordset
.Open sql, conexion
' 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
rs.Close
Set rs = Nothing
Exit Sub
End If
End With
' Cierra y descarga el Recordset
rs.Close
Set rs = Nothing
'Cambia el Flag para que no cierre el programa con End
OK = True
' Descarga el formulario y prosigue en el SubMain
Unload Me
UserForm2.Show
End Sub
No hay comentarios:
Publicar un comentario