É sempre importante relembrar o básico: O código abaixo mostra como podemos extrair os dados de um Banco MySQL, gravando-os na planilha do Excel. Alguns podem até usá-lo para controlar a extração de grandes quantidades de dados como o desenvolvimento PHP para web.
Este código é oportuno para usarmos quando precisamos de um banco de dados MySQL que está num site, por exemplo, e precisa realizar uma grande atualização de dados. Basta automatizarmos o processo e obtermos os dados que precisamos.Para que seja capaz de executar o código VBA certifique-se de ter habilitado o Microsoft ActiveX Data Objects Library XX. Além de uma conexão checada de ODBC para o MySQL instalada no computador onde a aplicação rodará.
Sub ExDataFromMySQL()
Dim Password As String
Dim SQLStr As String
Dim Cn As ADODB.Connection
Dim Server_Name As String
Dim User_ID As String
Dim Database_Name As String
Dim rs As ADODB.Recordset
Set rs = New ADODB.Recordset
Range("A2:BB90000").ClearContents
Let Server_Name = Range("e4").Value ' IP number or servername
Let Database_Name = Range("e1").Value ' Name of database
Let User_ID = Range("h1").Value ' id user or username
Let Password = Range("e3").Value ' Password
Let Tabellen = Range("e2").Value ' Name of table to write to
Let SQLStr = "SELECT * FROM " & Tabellen
Set Cn = New ADODB.Connection
Cn.Open "Driver={MySQL ODBC 3.51 Driver};Server=" & Server_Name & ";Database=" & Database_Name & _ ";Uid=" & User_ID & ";Pwd=" & Password & ";"
rs.Open SQLStr, Cn, adOpenStatic
Dim myArray()
Let myArray = rs.GetRows()
Let kolumner = UBound(myArray, 1)
Let rader = UBound(myArray, 2)
For K = 0 To kolumner
Let Range("A5").Offset(0, K).Value = rs.Fields(K).Name
For R = 0 To rader
Let Range("A5").Offset(R + 1, K).Value = myArray(K, R)
Next
Next
rs.Close
Set rs = Nothing
Cn.Close
Set Cn = Nothing
End Sub
Tags: VBA, Excel, Banco de Dados, MySQL, SQL, extract, extrair, dados, data, Get, PHP, ODBC, connection, MySQL,