2.2 DBのオープンとクローズ
DAOを使って、自分自身(データベース)をオープン・クローズする方法です。オープン(データベースオブジェクトの作成)は、データベースオブジェクトの作成が基本ですが、Access97までとAccess2000以降では方法が多少異なることに注意。

クローズ時はどのバージョンでも同じで、データベースオブジェクトの.Closeというメソッドを実行します。
Access2000以降でのオープン、クローズの例
まずは、Access2000以降の例です。例では、DAOを使って自分自身(データベース)のオープンとクローズを行っています。太字の部分がポイントで、詳しくはソースコード以下の説明をどうぞ。

Sub prcDBOpenClose2000()

    'Access VBA Tips
    '2.2 DBのオープンとクローズ
    'Access2000以降での手順

    Dim daoDB As DAO.Database

    'データベースのオープン(データベースオブジェクトの作成)
    Set daoDB = CurrentDb

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

End Sub
 ※Access2000以降の場合。DAO利用時は参照設定が必要です。


■Dim daoDB As DAO.Database

DAOデータベースオブジェクト用の変数の宣言です。例では変数名にdaoDBという名前にしていますが、ここは好きな名前でかまいません。型にはDAO.Databaseを指定します。


■Set daoDB = CurrentDb

Access2000以降でDAOを使いデータベースオブジェクトを作成(=データベースのオープン)するときは、CurrentDbという命令を実行しましょう。

オープンした結果はSet文でデータベースオブジェクト変数(例ではdaoDB)へ保存し、クエリーの作成やテーブルのオープンなどデータベースへの各種の操作は、変数daoDBのメソッドやプロパティを使って行います。


■daoDB.Close

データベースのクローズです。オープンしたら、必ずクローズしましょう。開けたら閉める!ドアが開けっ放しだと…泥棒が入りますよ(笑)
Access97までのオープン、クローズの例
次に、Access97までのオープン・クローズの例です。例では、自分自身(データベース)のオープンとクローズを行っています。太字の部分がポイントで、詳しくはソースコード以下の説明をどうぞ。

Sub prcDBOpenClose97()

    'Access VBA Tips
    '2.2 DBのオープンとクローズ
    'Access97までの手順

    Dim daoDB As Database

    'データベースのオープン(データベースオブジェクトの作成)
    Set daoDB = DBEngine.Workspaces(0).Databases(0)

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

End Sub
 ※Access97までの場合。


■Dim daoDB As Database

データベースオブジェクト用の変数の宣言です。例では変数名にdaoDBという名前にしていますが、ここは好きな名前でかまいません。型にはDatabaseを指定します。DAO.は付けなくてもOKです。


■Set daoDB = DBEngine.Workspaces(0).Databases(0)

Access97まででデータベースオブジェクトを作成(=データベースのオープン)するときは、DBEngine.Workspaces(0).Databases(0)というプロパティの値を取得しましょう。

オープンした結果はSet文でデータベースオブジェクト変数(例ではdaoDB)へ保存し、クエリーの作成やテーブルのオープンなどデータベースへの各種の操作は、変数daoDBのメソッドやプロパティを使って行います。


■daoDB.Close

データベースのクローズです。このメソッドは97までと2000以降で同じです。オープンしたら、必ずクローズしましょう。
Copyright(C) 1999-2006 結城圭介。 All rights reserved