4.2 AccessのDB(MDB)を開く・閉じる
ADO(ODBC)を使って別なMDBが持っているAccessのテーブルやクエリーを使うときの方法です。データベースを開くときはADOコネクションオブジェクトのOpenというメソッドで行います。開くときには指定方法が何種類かありますが、ODBCデータソースを使う場合と使わない場合の基本的な方法を紹介します。

それと、やはり開きっぱなしというのも良くないので、使い終わったデータベースは閉じましょう。閉じる場合は、ADOコネクションオブジェクトのCloseというメソッドで行います。

なお、ADOはデータを扱うための機能なので、Access固有の機能(レポートの印刷など)は出来ませんのでご注意を。
MDBファイルを直接指定する場合
Openメソッドのパラメタに、使用するドライバ名(Accessドライバ)とMDBファイルのパスを指定する方法です。ODBCデータソースの定義はいりません。

例では、ADOを使いc:\happy\island.mdbというMDBファイルをオープン(@)しています。必要なパラメタは2種類で、Driver=にアクセスのドライバ名、DBQ=にMDBファイルの場所(パス)です。また、それぞれを; 記号で区切ります。

閉じるとき(A)のCloseは、パラメタはありません。

Sub prcAdoAccessMDB()

    'Access VBA Tips
    '4.2 AccessのDB(MDB)を開く・閉じる/直接指定

    Dim adoCON As New ADODB.Connection

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

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

End Sub
ODBCデータソースを使う場合
Openメソッドのパラメタに、ODBCデータソース名を指定する方法です。この方法でオープンする場合はODBCデータソースの定義が必要で、ドライバ(Accessドライバ)とMDBファイルの場所をこちらへ設定しておきます。

例では、ADOを使いODBCデータソースに定義してあるADRDBというデータソースをオープン(@)しています。例えば、ADRDBc:\happy\island.mdbというMDBファイルの情報が定義しておけば、このMDBファイルをオープンすることになります。

Sub prcAdoAccessODBC()

    'Access VBA Tips
    '4.2 AccessのDB(MDB)を開く・閉じる/ODBCを使う

    Dim adoCON As New ADODB.Connection

    '@ADOを使いMDBをオープンします
    adoCON.Open "DSN=ADRDB;"

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

End Sub
オープンした後は…
データベースをオープンした後(SQLの実行やレコードセットの作成)は、コネクションオブジェクトを使ってSQLを実行したりレコードセットを作ったりすることができます。詳しくは、「3.ADOを使ったMDBの利用法」の以下の章をどうぞ。

3.3 SQLの実行(レコードセットの作成)
3.4 レコードセットの操作/基本
3.5 レコードセットの操作/順読み
3.6 SQLの実行(更新、追加、削除等)
Copyright(C) 1999-2006 結城圭介。 All rights reserved