Microsoft Visual Basic での ADO の使用

ADO プロジェクトのセットアップと ADO コードの作成は、Visual Basic と Visual Basic for Applications のどちらを使う場合も、ほとんど変わりありません。このトピックでは、Visual Basic と Visual Basic for Applications の両方における ADO の使用方法と違いについて説明します。

ADO プロジェクトの作成

ADO ライブラリは、オブジェクトで参照します。

Microsoft Visual Basic から ADO を参照するには

  1. Visual Basic の [プロジェクト] メニューで [参照設定] をクリックします。

  2. 一覧から [Microsoft ActiveX Data Objects x.x Library] を選択します。少なくとも、次のライブラリが選択されているかを確認します。
  3. [OK] をクリックします。

たとえば、Microsoft Access を使って Visual Basic for Applications で簡単に ADO を実行することができます。

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

  1. Microsoft Access で、[データベース] ウィンドウの [モジュール] タブからモジュールを選択または作成します。

  2. [ツール] メニューの [参照設定] をクリックします。

  3. 一覧から [Microsoft ActiveX Data Objects x.x Library] を選択します。少なくとも、次のライブラリも選択されているかを確認します。
  4. [OK] をクリックします。

Visual Basic における ADO オブジェクトの作成

オートメーション変数を作成し、その変数のオブジェクトをインスタンス化するには、Dim または CreateObject の 2 つのメソッドのどちらかを使います。

Dim

Dim では、New キーワードを使って一度に ADO オブジェクトを宣言してインスタンス化できます。

Dim conn As New ADODB.Connection

または、Dim ステートメントの宣言とオブジェクトのインスタンス化を 2 段階で行うこともできます。

Dim conn As ADODB.Connection
Set conn = New ADODB.Connection

注意   プロジェクト内で ADO ライブラリが正しく参照されていれば、ADODB progid を Dim ステートメントで明示的に指定する必要はありません。ただし、Dim ステートメントを使えばほかのライブラリとの命名の競合を確実に回避できます。

たとえば、同じプロジェクトで ADO と DAO の両方に対する参照を使う場合は、Recordset オブジェクトのインスタンス化のときにどちらのオブジェクト モデルを使うかを区別するために、次のようなコードで修飾子を追加する必要があります。

Dim adoRS As ADODB.Recordset
Dim daoRS As DAO.Recordset

CreateObject

CreateObject メソッドでは、2 つの異なる手順で宣言とオブジェクトのインスタンス化を行います。

Dim conn1
Set conn1 = CreateObject("ADODB.Connection") As Object

CreateObject を使ってインスタンス化されたオブジェクトは実行時にバインドされます。すなわち、型が明確に決定されていないため、完全にコマンド行を確定できません。ただし、プロジェクトから ADO ライブラリに対する参照を省略することはでき、特定のオブジェクト バージョンのインスタンス化が可能です。次に例を示します。

Set conn1 = CreateObject("ADODB.Connection.2.0") As Object

ADO Version 2.0 タイプ ライブラリに対する参照を作成し、またオブジェクトを作成することができます。

CreateObject メソッドでオブジェクトをインスタンス化する方法は、一般的に Dim ステートメントを使う方法よりも時間がかかります。

Visual Basic の例

ADO のマニュアルには、さまざまな Visual Basic の例が掲載されています。詳細については「Microsoft Visual Basic での ADO コードの例」を参照してください。