ADO プロジェクトの設定と ADO コードの記述は、Visual Basic と Visual Basic for Applications のどちらを使用する場合でも同様です。 このトピックでは、Visual Basic と Visual Basic for Applications の両方で ADO を使用する方法について説明し、相違点について説明します。
ADO ライブラリの参照
ADO ライブラリは、プロジェクトによって参照されている必要があります。
Microsoft Visual Basic から ADO を参照するには
Visual Basic の [プロジェクト] メニューから [参照 ] を選択……。
一覧から [Microsoft ActiveX Data Objects x.x Library を選択します。 少なくとも次のライブラリも選択されていることを確認します。
Visual Basic for Applications
Visual Basic ランタイム オブジェクトとプロシージャ
Visual Basic のオブジェクトとプロシージャ
OLE オートメーション
OKをクリックします。
たとえば、Microsoft Access を使用すると、Visual Basic for Applications でも同様に簡単に ADO を使用できます。
Microsoft Access から ADO を参照するには
Microsoft Access で、[データベース] ウィンドウの [モジュール] タブからモジュールを選択または作成します。
[ツール] メニューで [参照...] を選択します。
一覧から [Microsoft ActiveX Data Objects x.x Library を選択します。 少なくとも次のライブラリも選択されていることを確認します。
Visual Basic for Applications
Microsoft Access 8.0 オブジェクト ライブラリ (またはそれ以降)
Microsoft DAO 3.5 オブジェクト ライブラリ (またはそれ以降)
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 の使用