循环访问MS Access中的子记录

时间:2017-04-06 11:25:33

标签: vba ms-access access-vba

我有一个嵌套的数据表,其中 bar foo 的孩子。

要遍历 foo 的所有记录,我只需要

Dim rst As DAO.Recordset
Set rst = Forms!foo.Form.RecordsetClone

Do Until rst.EOF
    'Do Something
    rst.MoveNext
Loop

但是现在我想循环遍历其子表单 bar 的所有记录。我试过了

Dim rst As DAO.Recordset
Dim subrst As DAO.Recordset
Set rst = Forms!foo.Form.RecordsetClone

Do Until rst.EOF
    Set subrst = Forms!foo.Form!bar.Form.RecordsetClone

    Do Until subrst.EOF
        'Do Something
        subrst.MoveNext
    Loop
rst.MoveNext
Loop

可悲的是,这只会循环通过第一条记录的子记录。永远不会达到所有其他子记录。如何访问所有其他子记录的记录集?

1 个答案:

答案 0 :(得分:1)

您拥有的关系是属于父记录当前(可见)记录的子记录。

要检索剩余的子记录,请移动主窗体上的记录(使用书签)或打开子窗体的记录源,并将此过滤循环到当前循环中父记录的键上(" foo& #34;。)