martes, 25 de febrero de 2014

CONTROL DE USUARIO VBA CON MYSQL


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