使用 RecordsetClone 屬性來參考表單的 RecordSource 屬性所指定的表單 Recordset 物件。 唯讀。
語法
表達。記錄集複製
expression 代表 Form 物件的變數。
註解
RecordsetClone 屬性設定值是表單的 RecordSource 屬性所指定的基準查詢或資料表的複本。 例如,如果表單以查詢為基礎,參照到 RecordsetClone 屬性相當於使用相同的查詢複製 Recordset 物件。 如果您在表單套用篩選,Recordset 物件會反應此篩選動作。
此屬性只能使用 Visual Basic 使用,而且在所有檢視中都是唯讀的。
您可以使用 RecordsetClone 屬性來瀏覽或操作表單的記錄,而與表單本身無關。 例如,當您想要使用無法與表單搭配使用的方法 (例如 DAO Find 方法) 時,您可以使用 RecordsetClone 屬性。
開啟新的 Recordset 物件時,其第一筆記錄是目前的記錄。 如果您使用其中一個 Find 方法或其中一個 Move 方法,將 Recordset 物件中的任何其他記錄設為目前記錄,您必須將 DAO Bookmark 屬性的值指派給表單的 Bookmark 屬性,以將 Recordset 物件中的目前記錄與表單的目前記錄同步處理。
範例
下列範例會使用 RecordsetClone 屬性,從 [訂單] 表單建立 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 支援與意見反應。