6.1 参照設定を行ってADOを使う方法
ADOはExcel VBA(エクセルマクロ)やワードマクロなど、Access以外のアプリケーションでも使うことが出来ます。もちろん、SQL ServerやORACELなどのデータベースを扱うことも可能です。

Excel VBAなどでADOを使う方法は2つありますが、ここではADOの参照設定を行う方法を紹介します。まずは、ADOの参照設定(別ウィンドウで開きます)を見ながら、ADOを参照設定してください。
Excel VBAでADOを使いMDB(Accessデータベース)を読み込む例
ADOの参照設定を行うと、変数の型宣言でADODB.Connection型やADODB.Recordset型を指定できるようになり、この2つのデータ型の変数さえ作ればエクセルマクロやワードマクロでも、Access VBAと同じようにデータベースを扱うことができます。

参照設定を行ったときの利点は、プログラムをコーディングするときです。例えば、ADODB.Connection型の変数を扱う場合であれば、図のようにメソッドや一覧のプロパティが表示されます。


例では、c:\happy\island.mdbというMDB内にある「住所録テーブル」というテーブルをオープン(SELECT文を実行しレコードセットを作成)した後、MoveNextでレコードを最後まで順読みしています。なお、ADOを使ってデータベースを扱う方法は、3.ADOを使ってMDBへアクセス4.ADOを使って他のDBへアクセスを参照してください。

Sub prcMoveNextADO()

    Dim adoCON As New ADODB.Connection
    Dim adoRS  As ADODB.Recordset
    Dim lngRow As Long

    'ADOを使いMDBをオープンします
    adoCON.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=c:\happy\island.mdb;"

    'レコードセットの作成(SELECT文の実行)
    Set adoRS = adoCON.Execute("select * from 住所録テーブル")

    lngRow = 1

    '最終レコードまで順読み込みを行う
    Do Until adoRS.EOF = True

       'セルへ各フィールドの値を貼り付けます
       Cells(lngRow, 1) = adoRS("漢字氏名")
       Cells(lngRow, 2) = adoRS("カナ氏名")

       lngRow = lngRow + 1

       'レコードの順読み
       adoRS.MoveNext

    Loop

    'テーブルのクローズ
    adoRS.Close

    'データベースのクローズ
    adoCON.Close

    'オブジェクトの破棄
    Set adoRS = Nothing
    Set adoCON = Nothing

End Sub
 ※これはエクセルマクロ(Excel VBA)です。
Copyright(C) 1999-2006 結城圭介。 All rights reserved