ADO プロジェクトのセットアップと ADO コードの作成は、Visual Basic と Visual Basic for Applications のどちらを使う場合も、ほとんど変わりありません。このトピックでは、Visual Basic と Visual Basic for Applications の両方における ADO の使用方法と違いについて説明します。
ADO ライブラリは、オブジェクトで参照します。
Microsoft Visual Basic から ADO を参照するには
たとえば、Microsoft Access を使って Visual Basic for Applications で簡単に ADO を実行することができます。
Microsoft Access から ADO を参照するには
オートメーション変数を作成し、その変数のオブジェクトをインスタンス化するには、Dim または CreateObject の 2 つのメソッドのどちらかを使います。
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 メソッドでは、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 ステートメントを使う方法よりも時間がかかります。
ADO のマニュアルには、さまざまな Visual Basic の例が掲載されています。詳細については「Microsoft Visual Basic での ADO コードの例」を参照してください。