外部データベースを操作する方法
外部データベースを操作するには、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)についての解説を終了します。ありがとうございました。