Form.RecordsetClone-Eigenschaft (Access)

Verwenden Sie die RecordsetClone-Eigenschaft , um auf das Recordset-Objekt eines Formulars zu verweisen, das durch die RecordsSource-Eigenschaft des Formulars angegeben wird. Schreibgeschützt.

Syntax

Ausdruck verwendet werden. 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. Sie können die RecordsetClone-Eigenschaft beispielsweise 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 mithilfe der RecordsetClone-Eigenschaft ein neuer Klon des Recordset-Objekts aus dem Formular "Bestellungen " erstellt, und anschließend werden die Namen der Felder im Direktfenster gedruckt.

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 Unternehmensname in 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, wodurch 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. Im folgenden Beispiel wird gezeigt, 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.