以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  数据筛查  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=149936)

--  作者:rgbjwjb
--  发布时间:2020/5/15 17:51:00
--  数据筛查

“表A” :有“账号”和“是否一折通号码”两个字段

“表B”:有“一折通号”一个字段

我想实现:如果表A 中的“账号”能从表B的“一折通通号”中找到,则就将表A 中的“是否一折通号码”设置为“是”,否则设为“否”,请问代码如何实现,谢谢指教!


--  作者:rgbjwjb
--  发布时间:2020/5/15 21:43:00
--  

For Each r As Row In Tables("表A").Rows
    For i As Integer = 0 To Tables("表B").Rows.Count-1
        Dim nr As Row = Table("表B").current       
        If r("账号") = nr("一折通号") Then
            r("是否一折通号码") = True
        Else
            r("是否一折通号码") = False
        End If
    Next
Next
代码问题出在哪里?


--  作者:sloyy
--  发布时间:2020/5/16 1:42:00
--  
逻辑关系混乱 ,如果表A 中的“账号”能从表B的“一折通通号”中找到,则就将表A 中的“是否一折通号码”设置为“是”,否则设为“否”
你用2个循环是什么意思?直接查找不就行了
For Each r As Row In Tables("表A").Rows

Dim dr As DataRow
dr =
DataTables("表B").Find("账号=\'" & r("账号") & "\'")
   If
dr IsNot Nothing Then \'如果找到的话

            r("是否一折通号码") = True
        Else
            r("是否一折通号码") = False
        End If
Next
[此贴子已经被作者于2020/5/16 1:42:22编辑过]