共用方式為


Access (的 Form.RecordsetClone 屬性)

使用 RecordsetClone 屬性參照表單的 RecordSource 屬性所指定的表單 Recordset 物件。 唯讀。

語法

運算式RecordsetClone

expression 代表 Form 物件的變數。

註解

RecordsetClone 屬性設定值是表單的 RecordSource 屬性所指定的基準查詢或資料表的複本。 例如,如果表單以查詢為基礎,參照到 RecordsetClone 屬性相當於使用相同的查詢複製 Recordset 物件。 如果您在表單套用篩選,Recordset 物件會反應此篩選動作。

這個屬性只能使用 Visual Basic 來使用,而且在所有檢視中都是唯讀的。

您可以使用 RecordsetClone 屬性來巡覽或操作表單的記錄,而不受表單本身的影響。 例如,當您想要使用無法與表單搭配使用的方法,例如 DAO Find方法時,可以使用RecordsetClone屬性。

開啟新的 Recordset 物件時,其第一筆記錄就是目前的記錄。 如果您使用其中一個Find方法或其中一個Move方法,使Recordset物件中的任何其他記錄成為目前的記錄,您必須將 DAO Bookmark屬性的值指派給表單的Bookmark屬性,以同步處理Recordset物件中的目前記錄與表單目前的記錄。

範例

下列範例會使用RecordsetClone屬性,從Orders表單建立Recordset物件的新複製品,然後在 [即時運算] 視窗中列印欄位的名稱。

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

下一個範例會使用 RecordsetClone 屬性和 Recordset 物件來同步處理記錄集的記錄與表單目前的記錄。 從下拉式方塊中選取公司名稱時, 會使用 FindFirst 方法來尋找該公司的記錄,並將 Recordset 物件的 DAO Bookmark 屬性指派給表單的 Bookmark 屬性,導致表單顯示找到的記錄。

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

使用 RecordCount 屬性來計算 Recordset 物件中的記錄數目。 下列範例示範如何結合 RecordCount 屬性和 RecordsetClone 屬性來計算表單中的記錄。

Forms!Orders.RecordsetClone.MoveLast 
MsgBox "My form contains " _ 
    & Forms!Orders.RecordsetClone.RecordCount _ 
    & " records.", vbInformation, "Record Count"

支援和意見反應

有關於 Office VBA 或這份文件的問題或意見反應嗎? 如需取得支援服務並提供意見反應的相關指導,請參閱 Office VBA 支援與意見反應