Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gilt für: Access 2013, Office 2013
Erstellt ein dupliziertes Recordset-Objekt, das auf das ursprüngliche Recordset-Objekt verweist.
Syntax
Ausdruck .Clone
Ausdruck Eine Variable, die ein Recordset-Objekt darstellt.
Rückgabewert
Recordset
Hinweise
Verwenden Sie die Clone-Methode, um mehrere duplizierte Recordset-Objekte zu erstellen. Jedes Recordset kann einen eigenen aktuellen Datensatz haben. Wenn Sie Clone alleine verwenden, werden die Daten in den Objekten oder in den zugrunde liegenden Strukturen nicht geändert. Bei Verwendung der Clone -Methode können Sie Lesezeichen zwischen zwei oder mehr Recordset -Objekten freigeben, da ihre Lesezeichen austauschbar sind.
Sie können die Clone -Methode verwenden, wenn Sie einen Vorgang für ein Recordset ausführen möchten, für den mehrere aktuelle Datensätze erforderlich ist. Dies ist schneller und effizienter, als ein zweites Recordset zu öffnen. Ein mit der Clone -Methode erstelltes Recordset hat zunächst keinen aktuellen Datensatz. Um einen Datensatz aktuell zu machen, bevor Sie das Recordset klonen, müssen Sie die Bookmark -Eigenschaft festlegen oder eine der Move -Methoden, eine der Find -Methoden oder die Seek -Methode verwenden.
Das Anwenden der Close -Methode auf das ursprüngliche oder das duplizierte Objekt wirkt sich nicht auf das jeweils andere Objekt aus. Wenn Sie z. B. Close für das ursprüngliche Recordset ausführen, wird der Klon nicht geschlossen.
Hinweis
- Wird ein Klonrecordset in einer ausstehenden Transaktion geschlossen, führt dies zu einem impliziten Rollback-Vorgang.
- When you clone a table-type Recordset object in a Microsoft Access workspace, the Index property setting is not cloned on the new copy of the recordset. Sie müssen die Index-Eigenschafteneinstellung manuell kopieren.
Beispiel
In diesem Beispiel werden mit der Clone-Methode Kopien eines Recordset erstellt. Anschließend kann der Benutzer den Datensatzzeiger jeder Kopie unabhängig positionieren.
Sub CloneX()
Dim dbsNorthwind As Database
Dim arstProducts(1 To 3) As Recordset
Dim intLoop As Integer
Dim strMessage As String
Dim strFind As String
Set dbsNorthwind = OpenDatabase("Northwind.mdb")
' If the following SQL statement will be used often,
' creating a permanent QueryDef will result in better
' performance.
Set arstProducts(1) = dbsNorthwind.OpenRecordset( _
"SELECT ProductName FROM Products " & _
"ORDER BY ProductName", dbOpenSnapshot)
' Create two clones of the original Recordset.
Set arstProducts(2) = arstProducts(1).Clone
Set arstProducts(3) = arstProducts(1).Clone
Do While True
' Loop through the array so that on each pass, the
' user is searching a different copy of the same
' Recordset.
For intLoop = 1 To 3
' Ask for search string while showing where the
' current record pointer is for each Recordset.
strMessage = _
"Recordsets from Products table:" & vbCr & _
" 1 - Original - Record pointer at " & _
arstProducts(1)!ProductName & vbCr & _
" 2 - Clone - Record pointer at " & _
arstProducts(2)!ProductName & vbCr & _
" 3 - Clone - Record pointer at " & _
arstProducts(3)!ProductName & vbCr & _
"Enter search string for #" & intLoop & ":"
strFind = Trim(InputBox(strMessage))
If strFind = "" Then Exit Do
' Find the search string; if there's no match, jump
' to the last record.
With arstProducts(intLoop)
.FindFirst "ProductName >= '" & strFind & "'"
If .NoMatch Then .MoveLast
End With
Next intLoop
Loop
arstProducts(1).Close
arstProducts(2).Close
arstProducts(3).Close
dbsNorthwind.Close
End Sub