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.

HinwBemerkungeneise

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.