Freigeben über


Clone-Methode (ADO)

Gilt für: Access 2013, Office 2013

Ein Recordset-Objektduplikat wird aus einem vorhandenen Recordset -Objekt erstellt. Optional wird angegeben, dass der Klon schreibgeschützt ist.

Syntax

Legen SierstDuplicate = rstOriginal fest. Clone (LockType)

Rückgabewert

Ein Recordset-Objektverweis wird zurückgegeben.

Parameter

Parameter Beschreibung
rstDuplicate Eine Objektvariable, durch die das zu erstellende Recordset -Objektduplikat identifiziert wird.
rstOriginal Eine Objektvariable, durch die das zu duplizierende Recordset -Objekt identifiziert wird.
LockType Optional. Ein LockTypeEnum-Wert, durch den der Sperrtyp des Original recordsets oder ein schreibgeschütztes Recordset angegeben wird. Gültige Werte sind adLockUnspecified oder adLockReadOnly.

Hinweise

Mithilfe der Clone -Methode erstellen Sie mehrere doppelte Recordset -Objekte, insbesondere wenn Sie mehr als einen aktuellen Datensatz in einem bestimmten Recordset verwalten möchten. Das Verwenden der Clone -Methode ist effizienter als das Erstellen und Öffnen eines neuen Recordset -Objekts mit der gleichen Definition wie das Original.

Die Filter-Eigenschaft des Original recordsets, falls vorhanden, wird nicht auf den Klon angewendet. Legen Sie die Filter -Eigenschaft des neuen Recordsets fest, um die Ergebnisse zu filtern. Die einfachste Möglichkeit zum Kopieren vorhandener Filter -Werte ist das direkte Zuweisen:

Der aktuelle Datensatz eines neu erstellten Klons wird auf den ersten Datensatz festgelegt.

An einem Recordset -Objekt vorgenommene Änderungen werden unabhängig vom Cursortyp in allen Klonen des Objekts angezeigt. Nach dem Ausführen von Requery für das ursprüngliche Recordset -Objekt werden die Klone jedoch nicht mehr mit dem Original synchronisiert.

Durch das Schließen des Original recordsets werden die Kopien nicht geschlossen, und durch das Schließen einer Kopie werden das Original oder andere Kopien nicht geschlossen.

Sie können nur Recordset-Objekte klonen, von denen Textmarken unterstützt werden. Textmarkenwerte sind austauschbar; d. h., ein Textmarkenverweis eines Recordset-Objekts verweist auf den gleichen Datensatz in den Klonen.

Einige ausgelöste Recordset -Ereignisse werden auch in allen Recordset klonen ausgeführt. Die Ereignisse sind für den Klon jedoch möglicherweise nicht gültig, da sich der aktuelle Datensatz zwischen geklonten Recordsets unterscheiden kann.

Wenn Sie z. B. einen Wert eines Felds ändern, tritt im geänderten Recordset und in allen Klonen ein WillChangeField-Ereignis auf. Durch den Fields-Parameter des WillChangeField-Ereignisses eines geklonten Recordsets (in dem die Änderung nicht vorgenommen wurde) wird einfach auf die Felder des aktuellen Datensatzes des Klons verwiesen, der ein anderer Datensatz sein kann als der aktuelle Datensatz des Originalrecordsets, in dem die Änderung auftrat.

In der folgenden Tabelle wird eine vollständige Liste aller Recordset-Ereignisse bereitgestellt, und es wird angegeben, ob sie gültig sind und für mit der Clone-Methode generierte Recordsetklone ausgelöst werden.

Ereignis

Auslösung in Klonen

EndOfRecordset

Nein

FetchComplete

Nein

FetchProgress

Nein

FieldChangeComplete

Ja

MoveComplete

Nein

RecordChangeComplete

Ja

RecordsetChangeComplete

Nein

WillChangeField

Ja

WillChangeRecord

Ja

WillChangeRecordset

Nein

WillMove

Nein