Conectar aplicación Excel VBA con PhpMyadmin/Mysql

Mi pregunta es que deseo conectar una aplicación de
Excel vía código VBA con una base de
Datos que tengo en phpmyadmin/Mysql mediante el motor xampp
Tengo la siguiente cadena de conexión:
oConn.Open "Provider=MySQLProv;" & "Data Source=192.168.31.19;" & _
"User Id=Facturación;

Password=1234**"

Pero se me presenta un problema de conexión entre la aplicación de
Excel con la base de datos al correr el código me dice el siguiente error:
“No se encontró el proveedor especificado. Es posible que no este instalado correctamente.”

No se por que me dice ese mensaje de error siendo que todo esta bien
instalado si no hubiese instalado bien el motor xampp no hubiera podido haber
creado la base de datos.

1 respuesta

Respuesta
1

¿Ya revisaste que en las referencias de VBA esté activada la dll de Microsoft Remote Data Object?

También verifica:

Microsoft Remote Data Services 6.0 Library

Microsoft Remote Data Services Server 6.0 Library

Si cambiaste de PC o estás pasando la aplicación a otra máquina pueden estar desactivadas. También otra aplicación o macro de excel pueden desactivar las referencias.

Muchas gracias pero a pesar de eso el código de conexión me sigue indicando y el problema, no la puedo conectar

Ya he revisado en internet y siempre dan los mismos códigos para la cadena de conexión. Investiga en http://www.mysql.com/ puedes hacer preguntas a otros expertos en Mysql que ahí se está presentando el problema.

Hola muchas gracias experto, ahora tengo el siguiente inconveniente:

tengo el siguiente código:

Dim oConn As ADODB.Connection

oConn.Open "DSN=Factura"
If oConn.State = 1 Then
Dim com As New ADODB.Command
com.ActiveConnection = oConn
' com.CommandText = "select * from factura"
com.CommandText = "select * from factura where Titulo_Minero= '" & Hoja2.Cells(1, 2) & "'"
com.CommandType = adCmdText
Dim rs As ADODB.Recordset
Set rs = com.Execute
If rs.EOF <> True Then
Dim fila As Integer
fila = 3
Do While Not rs.EOF
Hoja2.Cells(fila, 1) = rs("Numero_Factura")
Hoja2.Cells(fila, 2) = rs("Titulo_Minero")
Hoja2.Cells(fila, 3) = rs("Tipo")
Hoja2.Cells(fila, 4) = rs("Ciclo")
Hoja2.Cells(fila, 5) = rs("Producto")
Hoja2.Cells(fila, 6) = rs("Zona")
Hoja2.Cells(fila, 7) = rs("Etapa_Contractual")
Hoja2.Cells(fila, 8) = rs("Mineral")
Hoja2.Cells(fila, 9) = rs("Departamento")
Hoja2.Cells(fila, 10) = rs("Municipio")
Hoja2.Cells(fila, 11) = rs("Valor_parcial%")
If rs.EOF Then
oCon.Close
End If
Exit Do
Loop
End If
'oCon.Close
Else
MsgBox "Error en la conexión"
End If

Tengo bien configurado el ODBC y ern mi casa este código para una consulta me trae por lo menos un registro, pero el problema al que me encuentro ahora en mi oficina es que corro el código y me aparece :

"Se ha producido el error '91' en tiempo de ejecución,variable de objeto o bloque with no establecido", no se por que se produce este error, siendo que en referencias señale todos los objetos para realizar dicho proceso.

Muchas gracias

Att. Hernán Camilo M.V.

Si te funciona en casa y en la oficina no, es porque no tienes configuradas las opciones de VBA de la misma manera, en herramientas - opciones en la pestaña General selecciona:

Interrumpir en errores no controlados.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas