データベースに接続する(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 を参照するには
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プロパティに、Provider と Data Source をセミコロンで区切って指定したあと、Openメソッドを使って接続します。
《サンプル》
ほかのデータベースへ接続する
接続するデータベースによって、接続情報文字列に設定するキーワード(Provider)は異なります。
次の例では、Excelファイル(ODBCデータソース)に接続しています。最初にWindowsのコントロールパネルでDSN(Data
Source Name)を作成します。
DSNの設定が終わったら、Accessのモジュールで、プログラムを作成します。
《サンプル》