Excel/VBAでMySQLにアクセスする方法
2022/12/14
前回、WindowsにMySQL用のODBCドライバをインストールしたことについて書きました。今回はExcelVBAからMySQLにアクセスしてみたいと思います。
MySQL側はこうなっています。適当にテーブル作ったものです。
こちらがソースコード。SELECT文でカラム名とレコードを読み込んでシートに展開します。
Sub ConnectToMySQL()
Dim cn As New ADODB.Connection
cn.ConnectionString = "Driver={MySQL ODBC 8.0 Unicode Driver};" & _
"Server=192.168.10.102;" & _
"Database=bookmarks;" & _
"User=TEST;" & _
"Password=****"
cn.Open
Dim rs As New ADODB.Recordset
rs.Open "SELECT * FROM bookmark", cn
Dim ws As Worksheet
Set ws = ThisWorkbook.Worksheets("Sheet1")
'カラム名をワークシート1行目に書き込む
Dim i As Long, j As Long
i = 1
For j = 1 To rs.Fields.Count
ws.Cells(i, j) = rs(j - 1).Name
Next j
'レコードをワークシートに書き込む
Do Until rs.EOF
i = i + 1
For j = 1 To rs.Fields.Count
ws.Cells(i, j) = rs(rs(j - 1).Name)
Next j
rs.MoveNext
Loop
rs.Close: Set rs = Nothing
cn.Close: Set cn = Nothing
End Sub
上のプログラムを実行すると以下のようになります。うまく行きました。
あとはSELECT文のところをINSERTやUPDATEにすることで書き込みもできるようになります。
スポンサーリンク

