Clone メソッド (ADO)

既存の Recordset オブジェクト から、 重複する Recordset オブジェクトを 作成 します。 必要に応じて、複製を読み取り専用に指定します。

構文

  
Set rstDuplicate = rstOriginal.Clone (LockType)  

戻り値

Recordset オブジェクト参照 返します。

パラメーター

rstDuplicate
作成する重複する Recordset オブジェクトを識別するオブジェクト変数。

rstOriginal
複製する Recordset オブジェクトを識別 するオブジェクト変数。

LockType
省略可能。 元のレコードセット のロックの種類、または読み取り専用のレコードセット を指定する LockTypeEnum 。 有効な値は 、adLockUnspecified または adLockReadOnly です

注釈

Clone メソッド を使用 して、複数のレコードセット内に複数の現在のレコードを保持する場合は特に、重複する Recordset オブジェクトを作成します。 Clone メソッド を使用 する方が、元の定義と同じ定義を使用する新しい Recordset オブジェクトを作成して開くよりも効率的です。

のレコード セットの Filter プロパティ (指定されている場合) は、複製に適用されません。 新しい レコードセットの Filter プロパティを 設定して 、結果をフィルター処理します。 既存の Filter 値をコピーする最も簡単な 方法 は、次のように直接割り当てる方法です。

rsNew.Filter = rsOriginal.Filter  

新しく作成された複製の現在のレコードは、最初のレコードに設定されます。

1 つの Recordset オブジェクトに加えた変更 は、カーソルの種類に関係なく、すべての複製に表示されます。 ただし、元のレコードセットで Requeryを実行した後、クローンは元のレコードセットと同期されなくなりました。

元の レコードセットを 閉じても、コピーを閉じ、コピーを閉じて元のコピーまたは他のコピーを閉じない。

ブックマークをサポートする Recordset オブジェクト のみを複製できます。 ブックマークの値は交換可能です。つまり、1 つの Recordset オブジェクトからのブックマーク参照は、そのクローン内の同じレコードを参照します。

トリガー されるレコード セット イベントの一部は、すべての レコード セット クローンでも発生します。 ただし、現在のレコードは複製された レコード セット間で異なる場合があります。このため、イベントは複製に対して無効な場合があります。 たとえば、フィールドの値を変更すると、変更された レコード セットとすべてのクローンで WillChangeFieldイベントが発生します。 複製 された レコード セットの****WillChangeField イベントの Fields パラメーター (変更が行われたのではない場合) は、複製の現在のレコードのフィールドを参照します。これは、変更が発生した元の レコード セットの現在のレコードとは異なる場合があります。

次の表に、すべてのレコードセット イベントの完全な一 覧を示 します。 Clone メソッドを使用して生成されたレコードセット クローンに対して有効でトリガーされるかどうかを します。

イベント 複製でトリガーされますか?
EndOfRecordset No
FetchComplete No
FetchProgress No
FieldChangeComplete はい
MoveComplete No
RecordChangeComplete はい
RecordsetChangeComplete No
WillChangeField はい
WillChangeRecord はい
WillChangeRecordset No
WillMove No

適用対象

Recordset オブジェクト (ADO)

参照

Clone メソッドの例 (VB)
Clone メソッドの例 (VBScript)
Clone メソッドの例 (VC++)