次の方法で共有


Microsoft Visual Basic と Visual Basic for Applications での 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 を選択します。 少なくとも次のライブラリも選択されていることを確認します。

    • 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 Data Objects x.x Library を選択します。 少なくとも次のライブラリも選択されていることを確認します。

    • Visual Basic for Applications

    • Microsoft Access 8.0 オブジェクト ライブラリ (またはそれ以降)

    • Microsoft DAO 3.5 オブジェクト ライブラリ (またはそれ以降)

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

Visual Basic での ADO オブジェクトの作成

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

薄暗い

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

Dim conn As New ADODB.Connection

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

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

手記

プロジェクトで ADO ライブラリを正しく参照している場合、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 の例

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

関連項目

Microsoft ActiveX Data Objects (ADO)Ado と Microsoft Visual C++ を使用したスクリプト言語での ADO の使用