Open メソッド (ADO Recordset)Open Method (ADO Recordset)

カーソルをオープンするRecordsetオブジェクト。Opens a cursor on a Recordset object.

構文Syntax

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

パラメーターParameters

SourceSource
任意。Optional. Aバリアントに有効な評価されるコマンドオブジェクト、SQL ステートメント、テーブル名、ストアド プロシージャの呼び出し、URL、またはファイルの名前またはStreamオブジェクトを含む、永続的に格納されているRecordsetします。A Variant that evaluates to a valid Command object, an SQL statement, a table name, a stored procedure call, a URL, or the name of a file or Stream object containing a persistently stored Recordset.

ActiveConnectionActiveConnection
任意。Optional. いずれかをバリアントに有効な評価される接続オブジェクト変数の名前または文字列を格納しているConnectionStringパラメーター。Either a Variant that evaluates to a valid Connection object variable name, or a String that contains ConnectionString parameters.

CursorTypeCursorType
任意。Optional. A CursorTypeEnumを開くときに、プロバイダーが使用するカーソルの種類を決定する値、 Recordsetします。A CursorTypeEnum value that determines the type of cursor that the provider should use when opening the Recordset. 既定値はadOpenForwardOnlyします。The default value is adOpenForwardOnly.

LockTypeLockType
任意。Optional. A LockTypeEnumロック (同時実行) の種類を開くときに、プロバイダーを使用する必要がありますを決定する値、 Recordsetします。A LockTypeEnum value that determines what type of locking (concurrency) the provider should use when opening the Recordset. 既定値はadLockReadOnlyします。The default value is adLockReadOnly.

[オプション]Options
任意。Optional. A長いプロバイダーを評価する方法を示す値、ソース引数ものを表します以外の場合、コマンドオブジェクト、または、 Recordset以前保存されているファイルから復元する必要があります。A Long value that indicates how the provider should evaluate the Source argument if it represents something other than a Command object, or that the Recordset should be restored from a file where it was previously saved. 1 つまたは複数指定できますCommandTypeEnumまたはExecuteOptionEnum値で、ビットごとの OR 演算子と組み合わせて使用できます。Can be one or more CommandTypeEnum or ExecuteOptionEnum values, which can be combined with a bitwise OR operator.

注意

開く場合、レコード セットから、 Stream含むされた保存されるレコード セットを使用して、 ExecuteOptionEnum の値adAsyncFetchNonBlocking効果はありません。 同期およびブロッキングのフェッチで、になります。If you open a Recordset from a Stream containing a persisted Recordset, using an ExecuteOptionEnum value of adAsyncFetchNonBlocking will have no effect; the fetch will be synchronous and blocking.

注意

ExecuteOpenEnumadExecuteNoRecordsまたはadExecuteStreamでは使用できませんオープンします。The ExecuteOpenEnum values of adExecuteNoRecords or adExecuteStream should not be used with Open.

コメントRemarks

ADO の既定のカーソルRecordsetは順方向専用、読み取り専用のカーソルが、サーバー上にあります。The default cursor for an ADO Recordset is a forward-only, read-only cursor located on the server.

使用して、オープンメソッドをレコード セットオブジェクトのクエリ、または以前に保存した結果、ベース テーブルからレコードを表すカーソルを開き、レコード セットします。Using the Open method on a Recordset object opens a cursor that represents records from a base table, the results of a query, or a previously saved Recordset.

オプションを使用して、ソース、次のいずれかを使用してデータ ソースを指定する引数:コマンドオブジェクト変数、SQL ステートメント、ストアド プロシージャ、テーブル名、URL、またはファイルの完全なパス名。Use the optional Source argument to specify a data source using one of the following: a Command object variable, an SQL statement, a stored procedure, a table name, a URL, or a complete file path name. 場合ソースファイルのパス名は、完全なパス ("c:\dir\file.rst")、相対パスであることができます ("..\file.rst")、または URL ("https://files/file.rst")。If Source is a file path name, it can be a full path ("c:\dir\file.rst"), a relative path ("..\file.rst"), or a URL ("https://files/file.rst").

使用することはお勧めできません、ソースの引数、オープンメソッドを呼び出しが成功したかどうかを決定する簡単な方法がないためレコードを返さないアクション クエリを実行します。It is not a good idea to use the Source argument of the Open method to perform an action query that does not return records because there is no easy way to determine whether the call succeeded. Recordsetなどによって返されるクエリは閉じられます。The Recordset returned by such a query will be closed. SQL の INSERT ステートメントなどのレコードを返さないクエリを実行して呼び出し、 Executeのメソッド、コマンドオブジェクトまたはExecute のメソッド接続オブジェクトの代わりにします。To perform a query that does not return records, such as a SQL INSERT statement, call the Execute method of a Command object or the Execute method of a Connection object instead.

ActiveConnection引数に対応、 ActiveConnectionプロパティを開くには、どの接続で指定し、 Recordsetオブジェクト。The ActiveConnection argument corresponds to the ActiveConnection property and specifies in which connection to open the Recordset object. 接続の定義がこの引数を渡すと、ADO は、指定されたパラメーターを使用して新しい接続を開きます。If you pass a connection definition for this argument, ADO opens a new connection using the specified parameters. 開いた後、 Recordsetを設定してクライアント側カーソル、 CursorLocationプロパティをadUseClient、送信するには、このプロパティの値を変更することができます別のプロバイダーを更新します。After you open the Recordset with a client-side cursor by setting the CursorLocation property to adUseClient, you can change the value of this property to send updates to another provider. このプロパティを設定することもNothing (Microsoft Visual Basic で) または切断する場合は NULL、レコード セット任意のプロバイダー。Or you can set this property to Nothing (in Microsoft Visual Basic) or NULL to disconnect the Recordset from any provider. 変更するActiveConnectionのサーバー側カーソル、ただし、エラーが発生します。Changing ActiveConnection for a server-side cursor generates an error, however.

他の引数のプロパティに直接対応するため、レコード セットオブジェクト (ソースCursorType、およびLockType)、プロパティへの引数の関係は次のとおりです。For the other arguments that correspond directly to properties of a Recordset object (Source, CursorType, and LockType), the relationship of the arguments to the properties is as follows:

  • プロパティが読み取り/書き込みの前に、 Recordsetオブジェクトを開きます。The property is read/write before the Recordset object is opened.

  • 実行時に、対応する引数を渡さない限り、プロパティの設定が使用される、オープンメソッド。The property settings are used unless you pass the corresponding arguments when executing the Open method. 引数を渡す場合は、対応するプロパティの設定が上書きされ、プロパティの設定は、引数の値で更新されます。If you pass an argument, it overrides the corresponding property setting, and the property setting is updated with the argument value.

  • 開いた後、 Recordsetオブジェクトに、これらのプロパティは読み取り専用になります。After you open the Recordset object, these properties become read-only.

注意

ActiveConnectionプロパティは読み取り専用のレコード セットオブジェクトソースプロパティが有効なコマンドオブジェクト場合でも、 Recordsetオブジェクトが開いていません。The ActiveConnection property is read-only for Recordset objects whose Source property is set to a valid Command object, even if the Recordset object is not open.

渡す場合、コマンドオブジェクト、ソース引数とパス、 ActiveConnection引数、エラーが発生します。If you pass a Command object in the Source argument and also pass an ActiveConnection argument, an error occurs. ActiveConnectionのプロパティ、コマンド既に有効なオブジェクトを設定する必要があります接続オブジェクトまたは接続文字列。The ActiveConnection property of the Command object must already be set to a valid Connection object or connection string.

以外の何か成功した場合、コマンドオブジェクト、ソース引数を使用できます、オプション引数の評価を最適化するために、ソース引数。If you pass something other than a Command object in the Source argument, you can use the Options argument to optimize evaluation of the Source argument. 場合、オプション引数が定義されていない、ADO プロバイダーへの呼び出し、引数が SQL ステートメント、ストアド プロシージャ、URL、またはテーブル名を確認する必要があるために、パフォーマンスの低下が発生する可能性があります。If the Options argument is not defined, you may experience diminished performance because ADO must make calls to the provider to determine if the argument is an SQL statement, a stored procedure, a URL, or a table name. 何がわかっている場合ソース設定を使用する型、オプション引数は、関連するコードに直接ジャンプする ADO を指示します。If you know what Source type you are using, setting the Options argument instructs ADO to jump directly to the relevant code. 場合、オプション引数と一致しません、ソース入力、エラーが発生します。If the Options argument does not match the Source type, an error occurs.

渡す場合、 Streamオブジェクト、ソース引数を渡さないでください情報を他の引数にします。If you pass a Stream object in the Source argument, you should not pass information into the other arguments. そうと、エラーが生成されます。Doing so will generate an error. ActiveConnection情報が保持するときに、レコード セットから開いた、 StreamThe ActiveConnection information is not retained when a Recordset is opened from a Stream.

既定値は、オプション引数がadCmdFileに関連付けられている接続がない場合、レコード セットします。The default for the Options argument is adCmdFile if no connection is associated with the Recordset. これは、通常、ケースに永続的に格納されているためRecordsetオブジェクト。This will typically be the case for persistently stored Recordset objects.

プロバイダーが両方を設定して、データ ソースにレコードが返されない場合、 BOFEOFプロパティをTrue、現在のレコードの位置が定義されていないとします。If the data source returns no records, the provider sets both the BOF and EOF properties to True, and the current record position is undefined. この空に新しいデータを追加することもできますRecordsetオブジェクトのかどうか、カーソルの種類によりします。You can still add new data to this empty Recordset object if the cursor type allows it.

開いている操作が完了するとレコード セットオブジェクトを使用して、閉じるメモリを解放するメソッドには、システム リソースが関連付けられています。When you have concluded your operations over an open Recordset object, use the Close method to free any associated system resources. オブジェクトを閉じるは削除されません。 メモリからそのプロパティの設定を変更して使用できます、開くメソッドを後でもう一度開きます。Closing an object does not remove it from memory; you can change its property settings and use the Open method to open it again later. メモリからオブジェクトを完全に排除するに、オブジェクト変数を設定します。 Nothingします。To completely eliminate an object from memory, set the object variable to Nothing.

前に、 ActiveConnectionプロパティが設定されており、呼び出すオープンなしのオペランドのインスタンスを作成すると、レコード セットフィールドを追加することによって作成された、 レコード セットフィールドコレクション。Before the ActiveConnection property is set, call Open with no operands to create an instance of a Recordset created by appending fields to the Recordset Fields collection.

設定した場合、 CursorLocationプロパティをadUseClient、2 つの方法のいずれかで非同期に行を取得することができます。If you have set the CursorLocation property to adUseClient, you can retrieve rows asynchronously in one of two ways. 設定するのにはお勧めオプションadAsyncFetchします。The recommended method is to set Options to adAsyncFetch. 動的なプロパティで「非同期行セットの処理」を使用する代わりに、プロパティ、コレクションが取得された関連するイベントを削除できますを設定しない場合、オプションパラメーターadAsyncFetchします。Alternatively, you can use the "Asynchronous Rowset Processing" dynamic property in the Properties collection, but related retrieved events can be lost if you do not set the Options parameter to adAsyncFetch.

注意

を通してのみサポートされてバック グラウンド フェッチ MS リモート プロバイダー、オープンメソッドのオプションパラメーター。Background fetching in the MS Remote provider is supported only through the Open method's Options parameter.

注意

Http スキームを使用して Url が自動的に呼び出さ、 Microsoft OLE DB Provider for Internet Publishingします。URLs using the http scheme will automatically invoke the Microsoft OLE DB Provider for Internet Publishing. 詳細については、次を参照してください。絶対と相対 Urlします。For more information, see Absolute and Relative URLs.

特定の組み合わせのCommandTypeEnumExecuteOptionEnum値が無効です。Certain combinations of CommandTypeEnum and ExecuteOptionEnum values are not valid. については、どのオプションを組み合わせることはできませんのトピックを参照して、 ExecuteOptionEnum、およびCommandTypeEnumします。For information about which options cannot be combined, see the topics for the ExecuteOptionEnum, and CommandTypeEnum.

適用対象Applies To

Recordset オブジェクト (ADO)Recordset Object (ADO)

参照See Also

Open および Close メソッドの例 (VB) Open and Close Methods Example (VB)
Open および Close メソッドの例 (VBScript) Open and Close Methods Example (VBScript)
Open および Close メソッドの例 (vc++) Open and Close Methods Example (VC++)
Save および Open メソッドの例 (VB) Save and Open Methods Example (VB)
Open メソッド (ADO Connection) Open Method (ADO Connection)
Open メソッド (ADO Record) Open Method (ADO Record)
Open メソッド (ADO Stream) Open Method (ADO Stream)
OpenSchema メソッド OpenSchema Method
Save メソッドSave Method