Microsoft Visual Basic と Visual Basic for Applications で ADO を使用する

Visual Basic と Visual Basic for Applications のどちらを使用する場合も、同じように ADO プロジェクトを設定し、ADO コードを記述します。 このトピックでは、Visual Basic と Visual Basic for Applications の両方で ADO を使用する方法とその相違点を説明します。

ADO ライブラリを参照する

ADO ライブラリは、プロジェクトから参照する必要があります。

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

  1. Visual Basic の [プロジェクト] メニューから [参照...] を選択します。

  2. 一覧から [Microsoft ActiveX データ オブジェクト x.x ライブラリ] を選択します。 少なくとも次のライブラリも選択されていることを確認します。

    • Visual Basic for Applications

    • Visual Basic ランタイム オブジェクトとプロシージャ

    • Visual Basic オブジェクトとプロシージャ

    • OLE オートメーション

  3. [OK] をクリックします。

たとえば、Microsoft Access を使用すると、Visual Basic for Applications と同じように ADO を簡単に使用できます。

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

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

  2. [ツール] メニューの [参照...] を選択します。

  3. 一覧から [Microsoft ActiveX データ オブジェクト x.x ライブラリ] を選択します。 少なくとも次のライブラリも選択されていることを確認します。

    • Visual Basic for Applications

    • Microsoft Access 8.0 以降のオブジェクト ライブラリ

    • Microsoft DAO 3.5 以降のオブジェクト ライブラリ

  4. [OK] をクリックします。

Visual Basic で ADO オブジェクトを作成する

オートメーション変数とこの変数のオブジェクトのインスタンスを作成するには、Dim または CreateObject の 2 つのメソッドを使用できます。

Dim

DimNew キーワードを使用すると、1 つの手順で ADO オブジェクトのインスタンスを宣言し作成できます。

Dim conn As New ADODB.Connection

または、Dim ステートメントの宣言とオブジェクトのインスタンス化には、次の 2 つの手順を使用することもできます。

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

注意

プロジェクトで ADO ライブラリを正しく参照している場合は、Dim ステートメントで ADODB progid を明示的に使用する必要はありません。 ただし、これを使用すると、他のライブラリと名前付けの競合が発生しなくなります。

注意

たとえば、同じプロジェクトに 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 バージョン 2.0 タイプ ライブラリへの参照を具体的に作成し、オブジェクトを作成する必要があります。

通常、CreateObject メソッドを使用してオブジェクトをインスタンス化すると、Dim ステートメントを使用する場合よりも時間がかかります。

イベントの処理

Microsoft Visual Basic で ADO イベントを処理するには、WithEvents キーワードを使用してモジュール レベルの変数を宣言する必要があります。 変数はクラス モジュールの一部としてのみ宣言でき、モジュール レベルで宣言する必要があります。 ADO イベントの処理の詳細については、「ADO イベントの処理」を参照してください。

Visual Basic の例

ADO ドキュメントには多くの Visual Basic の例があります。 詳細については、「Microsoft Visual Basic での ADO コードの例」を参照してください。

参照

Microsoft ActiveX データ オブジェクト (ADO)Microsoft Visual C++ で ADO を使用するスクリプト言語で ADO を使用する