Importar datos de Mysql a Excel

Necesito que un archivo de Excel me traiga los datos de una base de datos MySQL, por ello buscando información en la red encontré la siguiente macro que trae la información de una base de datos de la tabla llamada VENTAS, e importa a Excel en la columna 1 los datos de un campo llamado NRODOC y en la columna 2 los datos de un campo llamado CLIENTE de la tabla mysql; hay que tener presente que previo a ello se debe activar la referencia Microsoft ActiveX Data Objects 2.5 Library :

Private Sub btn_leer_tabla()
Dim con As New ADODB.Connection
con.Open "DSN=pruebaMYSQL"
If con.State = 1 Then
Dim com As New ADODB.Command
com.ActiveConnection = con
com.CommandText = "select * from ventas"
com.CommandType = adCmdText
Dim rs As ADODB.Recordset
Set rs = com.Execute
If rs.EOF = False Then
Dim fila As Integer
fila = 1
Do While Not rs.EOF
hoja2.Cells(fila, 1) = rs("nrodoc")
hoja2.Cells(fila, 2) = rs("cliente")
fila = fila + 1
rs.MoveNext
Loop
End If
rs.Close

Else
MsgBox "recorset está vacio"
End If
con.Close
End If

El problema es que no sé de donde se obtiene el dato de "DSN=pruebaMYSQL".

1 Respuesta

Respuesta
1

[Hola

Sugiero que le des una leidita  a este artículo:

https://abrahamexcel.blogspot.com/2019/02/excel-y-mysql.html

Saludos]

Abraham Valencia

Muchas gracias por la información, lo felicito, realmente es un ejemplo muy bien explicado, voy a trabajarlo detenidamente y creo que más adelante lo contactaré para un trabajo muy puntual de una base de datos ya creada.

Estaré pendiente de cualquier cosa.

Saludos]

Abraham Valencia

Buenas tardes señor Abraham, mi equipo es de 64 bits, el office de 32, descargué el conector según la instrucciones, le doy todos los datos de nombre de base de datos, usuario, clave, el puerto que utilizo es 8080, sin embargo el ejecutar la macro me sale el mensaje:

"Se ha producido el error '-2147467259 (80004005)'en tiempo de ejecución:

[MySQL][ODBC 8.0 (w) Driver]Lost connection to MySQL server at
¿waiting for initial communication packet', system error:10060"

y la linea de código cnn.Open se pone de color amarillo.

cual podría ser el error?

Gracias por su tiempo y disculpe la molestia.

Perdón, haga caso omiso al correo anterior, ya me conectó, pero al editar la segunda instrucción, el cursor se detiene en la línea:

.CursorLocation = adUseClient

Perdón nuevamente, no haga caso a ninguno de los 2 mensajes anteriores, la macro funciona de maravilla.

Je je je, no hay problema, que bueno que todo funcionó.

Saludos]

Abraham Valencia

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas