データベースに接続する(ADO)

ADO オブジェクトの概要 

ADOは、ActiveX Data Objects の略で、データベースへ接続して操作するためのオブジェクトです。AccessVBAでテーブルのデータ参照、修正などを行う方法のひとつです。ADOは、複数のオブジェクトによって構成されています。

プログラムでデータベースを操作する場合は、ADOを利用しますが、フォームのレコードソースもとにデータを操作する場合には、DAOを使います。Access2002の中では、ADOとDAOの両方を使うことができます。

DataBase,Recordset などのオブジェクトは、DAO/ADO両方のライブラリに存在しますが、これらのオブジェクトをライブラリ名を指定しないで定義すると、ADOのライブラリが使用されます。

オブジェクト名 内容
Connection データ ソースへの接続を表します。
接続に必要な情報を、ConnectionオブジェクトのConnectionStringプロパティに設定してOpenメソッドを実行すると、データベースを操作することができます。
Command データ ソースに対して実行する、特定のコマンドの定義です。
Commandオブジェクトの、CommandTextプロパティにSQLステートメントを設定して、Executeメソッドを実行すると、選択クエリの場合はレコードセットを取得できる。
Parameter パラメータ クエリまたはストアド プロシージャに基づく、Command オブジェクトに関連付けられたパラメータまたは引数を表します。
Recordset ベース テーブルからのレコード セット全体、またはコマンドの実行によって返された結果を表します。Recordset オブジェクトは、常にレコードセット内の 1 つのレコード。
レコードセットを取得した後は、レコードセット内を移動し、レコードの内容を調べることができる。
Field 共通のデータ型を持つデータの列を表します。
Error プロバイダが関係した単一の操作に関連したデータ アクセス エラーの詳細情報を格納しています。
Record Recordset オブジェクトの行、または、ディレクトリやファイル
Property ADO オブジェクトのプロパティ
Stream

データのバイナリまたはテキスト ストリームを表します。

Microsoft Access から ADO を参照するには  

  1. Microsoft Access で、[データベース] ウィンドウの [モジュール] タブからモジュールを選択または作成します。
  2. [ツール] メニューの [参照設定] をクリックします。
  3. 一覧から [Microsoft ActiveX Data Objects x.x Library] を選択します。少なくとも、次のライブラリも選択されているかを確認します。
    ・Visual Basic for Applications
    ・Microsoft Access 8.0
    ・オブジェクト ライブラリ (またはそれ以降のバージョン)
    ・Microsoft DAO 3.5 オブジェクト ライブラリ (またはそれ以降のバージョン)
  4. [OK] をクリックします。

 

ADOオブジェクトを利用するには 

 

 

オブジェクトへの参照を無効にする 

オブジェクトが不要になったときには、Closeメソッドを使ってオブジェクトを閉じます。

書式 オブジェクト変数名.Close 

メモリから完全に領域を削除するには、次のステートメントを実行します。

書式 Set オブジェクト変数名 = Nothing 

 

カレントデータベースに接続する 

Connectionオブジェクト型の変数に、CurretProjectオブジェクトへの参照を代入すると、実行中のAccessデータベースへ接続できます。

書式 Set connection = CurrentProject.Connection 
       
        ↑Connectionオブジェクト型のオブジェクト変数

 

《サンプル》

次の例は、カレントデータベースに接続して、接続情報をイミディエイトウィンドウに出力します。

 

接続情報文字列 

ADOを使ってデータベースを操作するには、最初にデータベースに接続しなければなりません。このときに接続先のデータベースを特定するのが接続情報文字列です。この値は、ConnectionオブジェクトのConnectionStringプロパティで管理されます。

書式: connection.ConnectionString = "keyword1=value1; keyword2=value2; ..." 

connection 開いているConnectionオブジェクト
keyword 接続に使うキーワード
value キーワードに設定する値

 

ほかのAccessデータベースに接続する 

ほかのAccessデータベースに接続するには、ConnectionStringプロパティに、ProviderData Source をセミコロンで区切って指定したあと、Openメソッドを使って接続します。

《サンプル》

 

ほかのデータベースへ接続する 

接続するデータベースによって、接続情報文字列に設定するキーワード(Provider)は異なります。
次の例では、Excelファイル(ODBCデータソース)に接続しています。最初にWindowsのコントロールパネルでDSN(Data Source Name)を作成します。

  1. Windowsのコントロールパネルを開き、「管理ツール」ボタンをクリックします。(Windows2000)
    次に「データソース(ODBC)」をクリックします。
  2. 「追加」ボタンをクリックします。「データソースの新規作成」ウィンドウが開きます。
  3. 「Driver do Microsoft Excel」を選択します。
  4. 「データソース名」に、データソースの名前(ここで決めます)を入力します。
  5. 「ブックマークの選択ボタン」をクリックし、接続するExcelファイルを選択します。
  6. 「OK」をクリックしてウィンドウを閉じます。

DSNの設定が終わったら、Accessのモジュールで、プログラムを作成します。

《サンプル》