Access VBA カレントデータベースに接続・切断する方法。

VBA で DAO を使用して、データベースに接続する場合、大きく分けて二通りの方法があります。

・カレントデータベース(mdb)に接続する
・外部のデータベース(mdb)に接続する

カレントデータベースとは、現在作業を行なっているデータベースのことです。実際に VBA のプログラムを書いているデータベースです。

カレントデータベースに接続する方が、プログラムの記述が簡単なので、先に行なってみましょう。


【1】Access で VBEを起動します。

access-vba-145.gif

*VBEは「Altキー」+「F11キー」で起動できます。


【2】新たに「test5」という標準モジュールを作成して、以下のように Subプロシージャを定義します。


Sub connDb()
  Dim db As DAO.Database
  Set db = CurrentDb
  Debug.Print "データベースに接続しました。"

  db.Close
  Set db = Nothing
  Debug.Print "データベースを切断しました。"
End Sub


access-vba-143.gif

「Ctrlキー」+「スペースキー」で入力候補を表示して、効率的に入力してください。


【3】Subプロシージャの connDb() から、プログラムを実行してください。

・connDb()の実行結果
access-vba-144.gif

イミディエイト ウィンドウに、接続と切断のメッセージが表示されます。


接続と切断は一瞬なので、わかり難いですよね。

【4】次はブレークポイントを設定して、1行ずつ実行してみてください。

access-vba-146.gif

ゆっくり実行すると、接続と切断のイメージがつかめると思います。


【解説】

(1)データベースオブジェクト型の変数を宣言している部分です。
Dim db As DAO.Database


(2)カレントデータベースに接続している部分です。
Set db = CurrentDb

*通常の変数への代入と異なり、オブジェクト型の変数は、「Set」ステートメントで関連付けます。


(3)イミディエイト ウィンドウに、メッセージを表示している部分です。
Debug.Print "データベースに接続しました。"


(4)データベースを閉じている部分です。
db.Close


(5)オブジェクトの関連付けを無効にしている部分です。
Set db = Nothing


(6)イミディエイト ウィンドウに、メッセージを表示している部分です。
Debug.Print "データベースを切断しました。"


カレントデータベースへの接続・切断の基本は、たったこれだけです。パターンが決まっているので、そのまま覚えましょう。


スポンサードリンク

スポンサードリンク






Access VBA 初心者入門講座 TOPへ