Inconveniente con ejecución de Macro Excel VBA con MariaDB
Equipo deseo preguntarle lo siguiente que concierne al desarrollo de una macro en Excel utilizando
el lenguaje de programación VBA conectando mi aplicación con una base de datos en MariaDB, el problema que tengo es que al elegir
un registro de una lista desplegable la aplicación de Excel se me bloquea, el código es el siguiente:
Dim strID As String
'strID = Sheets("Pedidos").Range("Seleccion").Value 'Seleccion se le llamo a la celda para seleccionar el NombreCompañia
'strID = Sheets("Pedidos").Range("B4").Value 'Seleccion se le llamo a la celda para seleccionar el NombreCompañia
strID = Hoja5.Cells(4, 2)
Dim con As New ADODB.Connection
con.Open "DSN=neptunomysql" ' ESE DSN HAY QUE CREARLO Y HAY QUE APUNTARLO PARA QUE LLAME A LA BASE DE DATOS NEPTUNO DE MYSQL PHPMYADMIN
' AHORA MIRAMOS EL ESTADO DE LA CONEXION CON LA BASE DE DATOS
If con.State = 1 Then
Dim com As New ADODB.Command
com.ActiveConnection = con
com.CommandText = "SELECT DISTINCT Clientes.IdCliente, Clientes.NombreCompania,Clientes.Direccion,Clientes.Ciudad,Clientes.Region,Clientes.CodPostal,Clientes.Pais " & _
"FROM Clientes WHERE Clientes.NombreCompania = '" & strID & "';"
com.CommandType = adCmdText
' rs quiere decir conjunto de registros
Dim rs As ADODB.Recordset
Set rs = com.Execute 'set es para asignar valors a objetos
If rs.EOF = False Then
Do While Not rs.EOF
' OJO en los campos de las bases de datos hay que quitar las tildes ñ u otro tipo de caracteres especiales
Hoja5.Cells(5, 2) = rs("Direccion") 'T
Hoja5.Cells(6, 2) = rs("Ciudad") 'U
Hoja5.Cells(6, 3) = rs("Region") 'V
Hoja5.Cells(6, 4) = rs("CodPostal") 'W
Hoja5.Cells(7, 3) = rs("Pais") 'X
rs.MoveNext
Loop
Else
MsgBox "recordset esta vacio"
End If
'com.Execute
con.Close
Else
MsgBox "Error en la conexión"
End If
Agradezco si me pueden colaborar arreglando el mencionado inconveniente
Att. Hernán Martínez