Accessに接続@Excel マクロ・VBA

ADODBを用いて、Accessに接続します。
Microsoft ActiveX Data Objectを参照設定します。

ADODB.Connectionを作成します。
Accessに接続する文字列を作成します。

接続を行います。
SQL文を実行して、RecordSETにて結果を受け取ります。

RecordSETをループ処理して、結果をセルに書き込みます。



Sub test()

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

    Dim connectionString As String


    On Error GoTo Err_DBConnectOpen

    '接続文字列の設定
    connectionString = "provider=Microsoft.Jet.OLEDB.4.0;" _
                        & "Data Source=C:\db1.mdb" _
                        '以下は、Accessにパスワードを設定している場合に追加する。
                        & ";Jet OLEDB:Database Password=パスワード;"

    con.connectionString = connectionString

    '接続
    con.Open

    'SQL文を実行(RecordSETで受け取ります)
    Set rs = con.Execute("SELECT * FROM テストテーブル")

    '結果をセルに書き込む
    rs.MoveFirst
    i = 1
    Do Until rs.EOF = True
        Cells(i, 1) = rs.Fields(0).Value
        Cells(i, 2) = rs.Fields(1).Value
        rs.MoveNext
        i = i + 1
    Loop

    '接続を閉じる
    con.Close

    Exit Sub

'エラー処理
Err_DBConnectOpen:

    'エラー内容をメッセージボックスにて表示
    MsgBox Err.Description

    'Connectionの状態を確認し、クローズ
    If con.State <> ADODB.adStateClosed Then
        con.Close
    End If
    
    Set con = Nothing

End Sub




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