以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]循环退出  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=109878)

--  作者:ymjr2011
--  发布时间:2017/11/22 9:25:00
--  [求助]循环退出
需求:表B是表A的子表,遍历表A,如果表A字段2等于字段3,则遍历子表B(多条记录),当子表B其中有任意一条记录的字段2<>字段3则退出下遍历,如果表B所有记录都满足字段2=字段3则将表A的字段5设置为1
以下代码没满足:请指正!

For Each dr As Row In Tables("表A").Rows
    If dr("字段2") = dr("字段3") Then 
    For Each ddr As DataRow In DataTables("表B").SQLSelect("字段1=\'" & dr("字段1") & "\'")
        If ddr("字段2") <> ddr("字段3") Then
            Exit For
        Else
        dr("字段5") =1
        End If
    Next
    End If
Next

--  作者:有点甜
--  发布时间:2017/11/22 9:30:00
--  

For Each dr As Row In Tables("表A").Rows
    If dr("字段2") = dr("字段3") Then
        Dim flag = True
        For Each ddr As DataRow In DataTables("表B").SQLSelect("字段1=\'" & dr("字段1") & "\'")
            If ddr("字段2") <> ddr("字段3") Then
                flag = False
                Exit For
            End If
        Next
        If flag = True Then
            dr("字段5") =1
        End If
    End If
Next


--  作者:ymjr2011
--  发布时间:2017/11/22 10:02:00
--  
谢谢,完美解决