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にすることで書き込みもできるようになります。
スポンサーリンク