Access VBA教程:RecordsetClone属性

使用 RecordsetClone属性可以引用由窗体的RecordSource属性所指定的窗体的Recordset对象。只读。

expression.RecordsetClone

expression   必需。返回“Applies To”列表中的一个对象的表达式。

说明

RecordsetClone属性设置是由窗体的 RecordSource属性指定的基础查询或基础表的一个副本。例如,如果窗体基于一个查询,那么对 RecordsetClone属性的引用与使用相同查询来复制 Recordset对象是等效的。如果此时将筛选应用于窗体,Recordset对象将反映筛选的结果。

该属性仅在使用Visual Basic 时才可用,并在所有视图中均为只读。

使用 RecordsetClone属性可以独立于窗体本身对窗体上的记录进行导航或操作。例如,如果要使用一个不能用于窗体的方法,如 DAOFind方法,则可以使用 RecordsetClone属性。

当新的 Recordset对象打开时,它的当前记录即为第一条记录。如果选择一种 Find方法或一种Move方法,使 Recordset对象中的其他记录成为当前记录时,必须通过指定 DAOBookmark属性为该窗体的Bookmark属性,来使 Recordset对象中的当前记录和窗体的当前记录同步。

可以使用RecordCount属性来计算 Recordset对象中的记录数。下面的示例显示了如何组合 RecordCount属性和 RecordsetClone属性,以计算窗体中的记录数:


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

注意   如果关闭窗体或更改了窗体的 RecordSource属性,Recordset对象就不再有效。如果接着引用 Recordset对象或引用过去在窗体或 Recordset对象中保存的书签,则会产生错误。

VBA示例

下面的示例使用 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

上页:Access VBA教程:Recordset属性 下页:Access VBA教程:RecordsetType属性

Access VBA教程:RecordsetClone属性

Access VBA教程:RecordsetType属性 Access VBA教程:RecordSource属性
Access VBA教程:RecordSourceQualifier属性 Access VBA教程:References属性
Access VBA教程:RemovePersonalInformation属性 Access VBA教程:RepeatSection属性
Access VBA教程:ReplicationConflictFunction属性 Access VBA教程:Report属性
Access VBA教程:Reports属性 Access VBA教程:Required属性
Access VBA教程:ResyncCommand属性 Access VBA教程:ReturnsRecords属性
Access VBA教程:RightMargin属性 Access VBA教程:RollbackTransaction属性
Access VBA教程:RowHeight属性 Access VBA教程:RowSource属性
Access VBA教程:RowSourceType属性 Access VBA教程:RowSourceType属性(用户定义函数) - 代码参数值
Access VBA教程:RowSpacing属性 Access VBA教程:RunningSum属性
版权所有 © 中山市飞娥软件工作室 证书:粤ICP备09170368号