Open メソッド

· Connection ¾ データ ソースへの接続を開きます。

· Recordset ¾ カーソルを開きます。

構文

Connection オブジェクトの場合:

connection.Open ConnectionString, UserID, Password

Recordset オブジェクトの場合:

recordset.Open Source, ActiveConnection, CursorType, LockType, Options

Open メソッドの構文には、次の指定項目があります。

指定項目

説明

connection

既存の Connection オブジェクトを表すオブジェクト変数です。

recordset

既存の Recordset オブジェクトを表すオブジェクト変数です。

ConnectionString

(省略可能) 接続情報を格納する文字列型 (String) です。有効な設定の詳細については、ConnectionString プロパティを参照してください。

UserID

(省略可能) 接続を確立する際に使用するユーザー名を格納する文字列型 (String) です。

Password

(省略可能) 接続を確立する際に使用するパスワードを格納する文字列型 (String) です。

Source

(省略可能) 評価結果が有効な Command オブジェクト変数名、SQL ステートメント、テーブル名、またはストアド プロシージャとなるバリアント型 (Variant) です。

ActiveConnection

(省略可能) 評価結果が有効な Connection オブジェクト変数名となるバリアント型 (Variant)、または、接続の定義を格納する文字列型 (String) です。

CursorType

(省略可能) Recordset を開くときにプロバイダが使用すべきカーソルのタイプを決める CursorTypeEnum 値です。次の定数のうちの 1 つを指定できます。

adOpenForwardOnly、0 (デフォルト)

adOpenKeyset、1

adOpenDynamic、2

adOpenStatic、3

これらの設定の定義の詳細については、CursorType プロパティを参照してください。

LockType

(省略可能) Recordset を開くときにプロバイダが使用すべきロック (同時性) の種類を決める LockTypeEnum 値です。次の定数のうちの 1 つを指定できます。

adLockReadOnly、1

adLockPessimistic、2

adLockOptimistic、3

adLockBatchOptimistic、4

これらの設定の定義の詳細については、LockType プロパティを参照してください。

Options

(省略可能) 引数 SourceCommand オブジェクト以外のものを表す場合に、プロバイダがそれをどのように評価すべきかを示す CommandTypeEnum 値です。次の定数のうちの 1 つを指定できます。

adCmdText、1 Source をテキスト形式のコマンド定義として評価します。

adCmdTable、2 Source をテーブル名として評価します。

adCmdStoredProc、4 Source をストアド プロシージャとして評価します。

adCmdUnknown、8 引数 Source のコマンドの種類は不明です。

これらの定数の詳細については、CommandType プロパティを参照してください。

解説

Open メソッドは、Connection オブジェクトまたは Recordset オブジェクトで使用するオブジェクトをアクティブにするために使います。開いている Connection オブジェクトまたは開いている Recordset オブジェクトでの操作が終了したら、Close メソッドを使って関連付けられているシステム リソースを解放します。オブジェクトを閉じてもメモリから削除されるわけではないため、そのプロパティ設定を変更してから再び開くことも可能です。オブジェクトをメモリから完全に削除するには、オブジェクト変数に Nothing を設定します。

Connection

Connection オブジェクトで Open メソッドを使うと、データ ソースへの物理的な接続が確立されます。このメソッドが正常に実行されると、接続が使用中の状態になり、コマンドの発行やその結果の処理ができるようになります。

データ ソース名 (DSN)、またはセミコロンで区切られた一連の argument = value ステートメントからなる詳細接続文字列を指定するには、省略可能な引数 ConnectionString を使います。引数に等号 ("=") を含めた場合、ADO は DSN ではなく接続文字列が指定されているものとみなします。ConnectionString プロパティには引数 ConnectionString で使われている値が自動的に継承されます。このため、Connection オブジェクトの ConnectionString プロパティを設定してから開くか、または Open メソッドの呼び出し中に引数 ConnectionString を使い、現在の接続パラメータを設定または変更することができます。

ユーザー情報とパスワード情報は、引数 ConnectionString か、または省略可能な引数 UserID および Password のどちらか一方にだけ渡してください。両方に渡した場合には予期しない結果を生じることがあります。

Recordset

Recordset オブジェクトで Open メソッドを使うと、ベース テーブルからのレコード、またはクエリー結果を表すカーソルが開きます。

データ ソースを指定するには、Command オブジェクト変数、SQL ステートメント、ストアド プロシージャ、テーブル名のいずれかを省略可能な引数 Source に指定します。

引数 ActiveConnectionActiveConnection プロパティに対応しており、Recordset オブジェクトを開くべき接続を指定します。この引数に接続の定義を渡した場合、ADO は指定されたパラメータを使って新しい接続を開きます。

Recordset オブジェクトのプロパティに直接対応している引数 (SourceActiveConnectionCursorType、および LockType) では、プロパティと引数との関係は次のようになります。

· Recordset オブジェクトを開く前は、プロパティは読み取り/書き込みが可能です。

· Open メソッドでは、対応する引数を渡さないかぎり、プロパティの設定のほうが使われます。引数を渡した場合は、それに対応するプロパティの設定は無効になり、プロパティの設定は引数の値に更新されます。

· Recordset オブジェクトを開いた後は、これらのプロパティは読み取り専用になります。

注意 Source プロパティに有効な Command オブジェクトが設定されている Recordset オブジェクトでは、その Recordset オブジェクトが開いていない状態であっても ActiveConnection プロパティは読み取り専用になります。

Command オブジェクトを引数 Source に渡し、さらに引数 ActiveConnection にも渡した場合は、エラーになります。Command オブジェクトの ActiveConnection プロパティには、有効な Connection オブジェクト、または接続文字列をあらかじめ設定しておく必要があります。

Command オブジェクト以外のものを引数 Source に渡す場合、引数 Options を使って Source の評価処理を最小限に抑えることができます。引数 Options が定義されていないと、引数 Source が SQL ステートメントなのか、ストアド プロシージャなのか、あるいはテーブル名なのかを判定するために ADO がプロバイダへの呼び出しを実行するため、パフォーマンスが低下することがあります。使用する Source の種類がわかっている場合には、Options を指定することで、実行すべき最適なコードに直接ジャンプするように ADO に指示することができます。Options の種類と Source の種類とが一致しない場合は、エラーになります。

データ ソースからレコードが返されなかった場合は、プロバイダによって BOF プロパティと EOF プロパティが True に設定され、カレント レコードの位置が未定義になります。カーソル タイプによっては、この空の Recordset オブジェクトに新しいデータを追加することも可能です。

対象

ConnectionRecordset

関連項目

Close