Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/react-native/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ms access 在MS Access中循环遍历子记录_Ms Access_Vba - Fatal编程技术网

Ms access 在MS Access中循环遍历子记录

Ms access 在MS Access中循环遍历子记录,ms-access,vba,Ms 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是foo的子对象

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

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

Do Until rst.EOF
    'Do Something
    rst.MoveNext
Loop
但现在我想遍历它的子表单栏的所有记录。我试过了


遗憾的是,这只会循环遍历第一个记录的子记录。所有其他子记录永远无法访问。如何访问所有其他子记录的记录集?

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


要检索剩余的子记录,请移动主窗体上的记录(使用Bookmark)或打开子窗体的recordsource并在当前循环(foo)中父记录的键上循环此筛选。

因此,如果我接受您的第一个建议,我需要在
rst.MoveNext
之后执行
Me.Bookmark=rst.Bookmark
?在没有克隆的情况下移动显示的记录集是一种糟糕的风格吗?只操作UI来计数记录是一种糟糕的风格,而且速度也慢得多,因为它可以轻松地以静默和更快的方式完成,并且代码的数量和复杂度相似。
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