次の方法で共有


メソッドを開く (ADO レコードセット)

Recordset オブジェクトのカーソルを開きます。

構文

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

パラメーター

ソース
任意。 有効な Command オブジェクト、SQL ステートメント、テーブル名、ストアド プロシージャ呼び出し、URL、または永続的に格納されている Recordset を含むファイルまたは Stream オブジェクトの名前に評価されるバリアント型 (Variant)。

ActiveConnection の
任意。 有効な Connection オブジェクト変数名に評価されるバリアント型(Variant)、または ConnectionString パラメーターを含む文字列を指定します。

カーソルタイプ
任意。 Recordset を開くときにプロバイダーが使用するカーソルの種類を決定する CursorTypeEnum 値。 既定値は adOpenForwardOnly です。

ロックタイプ
任意。 Recordset を開くときにプロバイダーが使用するロック (コンカレンシー) の種類を決定する LockTypeEnum 値。 既定値は adLockReadOnly です。

[オプション]
任意。 プロバイダーが Command オブジェクト以外のものを表す場合、またはレコードセットを以前に保存したファイルから復元する必要がある場合に、ソース引数を評価する方法を示す Long 値です。 1 つ以上 の CommandTypeEnum または ExecuteOptionEnum 値を指定できます。これはビットごとの OR 演算子と組み合わせることができます。

保存されたレコードセットを含むストリームから Recordset を開いた場合、adAsyncFetchNonBlockingExecuteOptionEnum 値を使用しても効果はありません。フェッチは同期とブロックになります。

adExecuteNoRecords または adExecuteStreamExecuteOpenEnum 値は、Open では使用しないでください。

注釈

ADO レコードセット の既定のカーソルは、サーバー上にある順方向専用の読み取り専用カーソルです。

Recordset オブジェクトで Open メソッドを使用すると、ベース テーブル、クエリの結果、または以前に保存した Recordset のレコードを表すカーソルが開きます。

オプションの Source 引数を使用して、 Command オブジェクト変数、SQL ステートメント、ストアド プロシージャ、テーブル名、URL、または完全なファイル パス名のいずれかを使用してデータ ソースを指定します。 Source がファイル パス名の場合は、完全パス ("c:\dir\file.rst")、相対パス (".) を指定できます。\file.rst")、または URL (https://files/file.rst)。

呼び出しが成功したかどうかを簡単に判断する方法がないため、Open メソッドの Source 引数を使用して、レコードを返さないアクション クエリを実行することはお勧めしません。 このようなクエリによって返される Recordset は閉じられます。 SQL INSERT ステートメントなどのレコードを返さないクエリを実行するには、代わりに、Command オブジェクトの Execute メソッドまたは Connection オブジェクトの Execute メソッドを呼び出します。

引数 ActiveConnectionActiveConnection プロパティに対応し、Recordset オブジェクトを開く接続を指定します。 この引数の接続定義を渡すと、ADO は指定されたパラメーターを使用して新しい接続を開きます。 CursorLocation プロパティを adUseClient に設定してクライアント側カーソルで Recordset を開いた後、このプロパティの値を変更して、別のプロバイダーに更新を送信できます。 または、このプロパティを Nothing (Microsoft Visual Basic の場合) または NULL に設定して、 任意 のプロバイダーから Recordset を切断できます。 ただし、サーバー側カーソルの ActiveConnection を変更するとエラーが発生します。

Recordset オブジェクトのプロパティ (SourceCursorTypeLockType) に直接対応する他の引数の場合、引数とプロパティの関係は次のとおりです。

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

  • プロパティの設定は、 Open メソッドの実行時に対応する引数を渡さない限り使用されます。 引数を渡すと、対応するプロパティ設定がオーバーライドされ、プロパティ設定が引数値で更新されます。

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

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

Source 引数に Command オブジェクトを渡し、ActiveConnection 引数も渡すと、エラーが発生します。 Command オブジェクトの ActiveConnection プロパティは、有効な Connection オブジェクトまたは接続文字列に既に設定されている必要があります。

Source 引数に Command オブジェクト以外のものを渡す場合は、Options 引数を使用して、Source 引数の評価を最適化できます。 Options 引数が定義されていない場合は、ADO がプロバイダーを呼び出して、引数が SQL ステートメント、ストアド プロシージャ、URL、またはテーブル名であるかどうかを判断する必要があるため、パフォーマンスが低下する可能性があります。 使用している ソース の種類がわかっている場合は、 Options 引数を設定すると、ADO に関連するコードに直接ジャンプするように指示されます。 引数 OptionsSource 型と一致しない場合は、エラーが発生します。

Source 引数で Stream オブジェクトを渡す場合は、他の引数に情報を渡さないでください。 これを行うと、エラーが生成されます。 Stream から Recordset を開いた場合、ActiveConnection 情報は保持されません。

レコードセットに関連付けられている接続がない場合、引数 Options の既定値は adCmdFile です。 これは通常、永続的に格納されている Recordset オブジェクトの場合です。

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

開いている Recordset オブジェクトに対する操作を終了したら、 Close メソッドを使用して、関連付けられているシステム リソースを解放します。 オブジェクトを閉じてもメモリから削除されません。プロパティの設定を変更し、Open メソッドを使用して後でもう一度開くことができます。 メモリからオブジェクトを完全に削除するには、オブジェクト変数を Nothingに設定します。

ActiveConnection プロパティを設定する前に、オペランドを指定して Open を呼び出し、RecordsetFields コレクションにフィールドを追加して作成された Recordset のインスタンスを作成します。

CursorLocation プロパティを adUseClient に設定している場合は、2 つの方法のいずれかで非同期的に行を取得できます。 推奨される方法は、 オプションadAsyncFetch に設定する方法です。 または、 Properties コレクションで "非同期行セット処理" 動的プロパティを使用することもできますが、 Options パラメーターを adAsyncFetch に設定しないと、関連する取得されたイベントが失われる可能性があります。

MS リモート プロバイダーでのバックグラウンド フェッチは、 Open メソッドの Options パラメーターでのみサポートされます。

http スキームを使用する URL は、Microsoft OLE DB Provider for Internet Publishingを自動的に呼び出します。 詳細については、「絶対 URL と相対 URL を参照してください。

CommandTypeEnum 値と ExecuteOptionEnum 値の特定の組み合わせが無効です。 結合できないオプションの詳細については、 ExecuteOptionEnumCommandTypeEnum のトピックを参照してください。

適用対象

Recordset オブジェクト (ADO)

こちらもご覧ください

Open メソッドと Close メソッドの使用例 (VB)
Open メソッドと Close メソッドの使用例 (VBScript)
Open メソッドと Close メソッドの使用例 (VC++)
Save メソッドと Open メソッドの使用例 (VB)
Open メソッド (ADO 接続)
Open メソッド (ADO Record)
Open メソッド (ADO Stream)
OpenSchema メソッドの
Save メソッドの