Form.RecordsetClone-Eigenschaft (Access)
Verwenden Sie die RecordsetClone-Eigenschaft , um auf das Recordset-Objekt eines Formulars zu verweisen, das durch die RecordSource-Eigenschaft des Formulars angegeben wird. Schreibgeschützt.
Syntax
Ausdruck. RecordsetClone
expression Eine Variable, die ein Form-Objekt darstellt.
Hinweise
Die Einstellung der Eigenschaft RecordsetClone eines Formulars stellt eine Kopie der Abfrage oder Tabelle dar, die dem Formular zugrunde liegt und von der Einstellung der Eigenschaft RecordSource des Formulars festgelegt wird. Basiert ein Formular z.B. auf einer Abfrage, so entspricht ein Verweis auf die Eigenschaft RecordsetClone dem Kopieren eines Recordset-Objekts unter Verwendung derselben Abfrage. Wenn Sie dann für das Formular einen Filter anwenden, wird das Recordset-Objekt der Filterung angepasst.
Diese Eigenschaft ist nur in Visual Basic verfügbar und ist in allen Ansichten schreibgeschützt.
Verwenden Sie die Eigenschaft RecordsetClone, wenn Sie mit den Datensätzen eines Formulars unabhängig von diesem Formular arbeiten möchten. Beispielsweise können Sie die RecordsetClone-Eigenschaft verwenden, wenn Sie eine Methode wie die DAO Find-Methode verwenden möchten, die nicht mit Formularen verwendet werden kann.
Wenn ein neues Recordset-Objekt geöffnet wird, ist sein erster Datensatz der aktuelle Datensatz. Wenn Sie eine der Find-Methoden oder eine der Move-Methoden verwenden, um einen anderen Datensatz im Recordset-Objekt aktuell zu machen, müssen Sie den aktuellen Datensatz im Recordset-Objekt mit dem aktuellen Datensatz des Formulars synchronisieren, indem Sie den Wert der DAO Bookmark-Eigenschaft der Bookmark-Eigenschaft des Formulars zuweisen.
Beispiel
Im folgenden Beispiel wird die RecordsetClone-Eigenschaft verwendet, um einen neuen Klon des Recordset-Objekts aus dem Formular Orders zu erstellen, und dann werden die Namen der Felder im Direktfenster ausgegeben.
Sub Print_Field_Names()
Dim rst As Recordset, intI As Integer
Dim fld As Field
Set rst = Me.RecordsetClone
For Each fld in rst.Fields
' Print field names.
Debug.Print fld.Name
Next
End Sub
Das nächste Beispiel verwendet die Eigenschaft RecordsetClone-Eigenschaft und das Recordset, um den Datensatz einer Datensatzgruppe mit dem aktuellen Datensatz eines Formulars zu synchronisieren. Wenn ein Firmenname aus einem Kombinationsfeld ausgewählt wird, wird die FindFirst-Methode verwendet, um den Datensatz für dieses Unternehmen zu suchen, und die Dao Bookmark-Eigenschaft des Recordset-Objekts wird der Bookmark-Eigenschaft des Formulars zugewiesen, sodass das Formular den gefundenen Datensatz anzeigt.
Sub SupplierID_AfterUpdate()
Dim rst As Recordset
Dim strSearchName As String
Set rst = Me.RecordsetClone
strSearchName = Str(Me!SupplierID)
rst.FindFirst "SupplierID = " & strSearchName
If rst.NoMatch Then
MsgBox "Record not found"
Else
Me.Bookmark = rst.Bookmark
End If
rst.Close
End Sub
Verwenden Sie die RecordCount-Eigenschaft , um die Anzahl der Datensätze in einem Recordset-Objekt zu zählen. Das folgende Beispiel zeigt, wie Sie die RecordCount-Eigenschaft und die RecordsetClone-Eigenschaft kombinieren können, um die Datensätze in einem Formular zu zählen.
Forms!Orders.RecordsetClone.MoveLast
MsgBox "My form contains " _
& Forms!Orders.RecordsetClone.RecordCount _
& " records.", vbInformation, "Record Count"
Support und Feedback
Haben Sie Fragen oder Feedback zu Office VBA oder zu dieser Dokumentation? Unter Office VBA-Support und Feedback finden Sie Hilfestellung zu den Möglichkeiten, wie Sie Support erhalten und Feedback abgeben können.