ADOでMySQLに接続@Excel マクロ・VBA

ADOを用いてMySQLに接続してデータを取得します。
http://dev.mysql.com/downloads/connector/odbc/5.1.htmlにて、
Connector/ODBCをダウンロードしてインストールします。

Microsoft ActiveX Data Objectを参照設定します。
ADODB.Connectionを生成します。
接続文字列を設定して、MySQLに接続を行います。

SQL文を実行して、結果をRecordsetで受け取ります。
Recordsetからデータを取得して表示します。



Sub test()

Dim con As ADODB.Connection
Dim rs As ADODB.Recordset

Dim connectionString As String
Dim sqlStr As String

Dim rowNo As Integer
Dim colNo As Integer
Dim item As Variant

'接続文字列
connectionString = "Driver={MySQL ODBC 5.1 DRIVER};" _
                & " SERVER=localhost;" _
                & " DATABASE=cocoadb;" _
                & " USER=root;" _
                & " PASSWORD=admin;"

'ADODB.Connection生成
Set con = New ADODB.Connection

On Error GoTo Err

'MySQLに接続
con.Open connectionString

'SQL文
sqlStr = "select * from ms_usr"

'SQL文実行
Set rs = con.Execute(sqlStr)

'シートデータクリア
Worksheets("Sheet1").Cells.Clear

rowNo = 1
colNo = 1

'RecordSetの終了まで
Do While rs.EOF = False

    'データ抽出
    For Each item In rs.fields
        Worksheets("Sheet1").Cells(rowNo, colNo).Value = item.Value
        colNo = colNo + 1
    Next
    colNo = 1
    rowNo = rowNo + 1

    '次のレコード
    rs.MoveNext
Loop

'クローズ
con.Close
Set rs = Nothing
Set con = Nothing

Exit Sub

Err:
    Set rs = Nothing
    Set con = Nothing
    MsgBox (Err.Description)

End Sub




Copyright (C) Excelマクロ・VBAのお勉強. All Rights Reserved.