Excel VBA 外部データベースの操作 ActiveX Data Objects (ADO)

スポンサーリンク

外部データベースを操作する方法

外部データベースを操作するには、ActiveX Data Objects【アクティブエックスデータオブジェクツ】(以下ADO)を使用します。

ADOは、Officeアプリケーションと外部データベースを接続したり外部データベースから取得したレコードを操作することができます。

外部データベースには、Access【アクセス】、SQLServer【エスキューエルサーバー】、Oracle【オラクル】
など、さまざまな種類がありますが、ADOを使用するとほぼ、同じコードで各種データベースを操作することができます。

ADOを使用する準備

Excel VBAでADOを使用するには、ADOのライブラリーファイルへの参照設定を行います。
※参照設定はADOを使用するブックごとに設定する必要があります。

ADOライブラリーファイルへの参照設定の手順




※ADOのバージョンはいくつかありますが、最新のバージョンを使用してください。


ADOの使用方法

ADOを使用するには、使用したいオブジェクトのインスタンス(複製)を生成する必要があります。インスタンスを生成するには、Dim【デム】ステートメントでNew【ニュー】キーワード使用してオブジェクト変数を宣言します。

まずは、Excelと外部データベースを接続する必要があるので、その操作を担当するConnection【コネクション】オブジェクトのインスタンスを生成します。

続いて、外部データベース内のテーブルからレコードを取得してさまざまな操作を実行するRecordset【レコードセット】オブジェクトのインスタンスを生成します。

この2つのインスタンスを使用すれば、外部データベースに接続してレコードの抽出、更新、追加、削除といった基本的な操作を実行することができます。

Recordset【レコードセット】オブジェクトを使用しないで、SQLを使用して外部データベースを操作する場合は、SQLの実行を担当するCommand【コマンド】オブジェクトのインスタンスを生成します。

基本的なSQL文のSELECT文、UPDATE文、INSERT文、DELETE文を実行できます。


SQLとは

データベースに対して問い合わせを行う言語のことで、主に、テーブルからレコードやデータを抽出したりレコードの更新、追加、削除といった操作を実行したりする命令を記述するときに使用します。

データベースの種類によって若干の方言がありますがほぼ、同じ構文でコードが記述できることが特徴です。

データベースとは

データベースは、データを蓄積して管理することができるファイルシステムです。データベースでは、データが「テーブル」に蓄積されます。蓄積するデータの各項目を「フィールド」と呼び複数の項目からなる一組のデータを「レコード」と呼びます。


ADOのオブジェクトのインスタンスを生成する書式

Connection【コネクション】オブジェクトのインスタンスを生成する書式

Dim オブジェクト変数名 As New ADODB.Connection


Recordset【レコードセット】オブジェクトのインスタンスを生成する書式

Dim オブジェクト変数名 As New ADODB.Recordset


Command【コマンド】オブジェクトのインスタンスを生成する書式

Dim オブジェクト変数名 As New ADODB.Command


ADOを構成する主なコレクションやオブジェクト


以上で、外部データベースの操作 ActiveX Data Objects (ADO)についての解説を終了します。ありがとうございました。

スポンサーリンク

関連記事・広告