以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  表查找两个表选出不重复的行  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=37716)

--  作者:SZDVYE
--  发布时间:2013/7/9 13:09:00
--  表查找两个表选出不重复的行
表A与表B有共同的列"单号",如何逐个查找出表A中有而,表B中没有单号,并提示 MessageBox.show("出现" & dr("单号") & "在" & Index(变量) & "行"), 按钮 "继续查找"(继续查找下一个)
--  作者:lsy
--  发布时间:2013/7/9 13:49:00
--  
Dim s As String
For Each r As Row In Tables("表B").Rows
    s + = r("单号") & ","
Next
For Each r As Row In Tables("表A").Rows
    If s.Contains(r("单号")) = False Then
        If MessageBox.show("<表A>的第 " & r.Index & " 行单号:" & r("单号") & " 未在<表B>中出现,是否继续查找?","提示",MessageBoxButtons.YesNo,MessageBoxIcon.Question) = DialogResult.No Then
            Exit For
        End If
    End If
Next

--  作者:SZDVYE
--  发布时间:2013/7/10 0:04:00
--  
谢谢LSY.虽然不能完全理解,但是问题已经解决了.
另外想深入一步.   表A与表B有共同的列"单号","数量"两列",如何逐个查找出表A中,与表B单号相同而数量不同的行,然后鼠标定位在表A该行的单号上,并提示 MessageBox.show( "<表A>的第 " & r.Index & " 行单号:" & r("单号") & " 数量不同于<表B>,是否继续查找?","提示",MessageBoxButtons.YesNo,MessageBoxIcon.Question) = DialogResult.No  
谢谢您的再次赐教.

--  作者:lsy
--  发布时间:2013/7/10 8:57:00
--  

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:查找不同记录.table

忘了定位行,重传一个

 

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:查找不同记录.table

[此贴子已经被作者于2013-7-10 9:42:52编辑过]

--  作者:SZDVYE
--  发布时间:2013/7/10 13:27:00
--  
图片点击可在新窗口打开查看谢谢了
--  作者:SZDVYE
--  发布时间:2013/7/10 23:58:00
--  

以下代码不能定位,请教错在哪里?


Dim i As Integer = 0

Dim s As String

For Each r As Row In Tables("B").Rows

    s + = r("单号") & ","

Next

For Each r As Row In Tables("A").Rows

    If s.Contains(r("单号")) = False Then

        If MessageBox.show("<A>的第 " & r.Index & " 行单号:" & r("单号") & " 未在<B>中出现,是否继续查找?","提示",MessageBoxButtons.YesNo,MessageBoxIcon.Question) = DialogResult.No Then

     i + = 1

            Exit For

        End If

    End If

Next


--  作者:lsy
--  发布时间:2013/7/11 5:42:00
--  

要想定位,还要加一句:

Dim i As Integer = 0

Dim s As String

For Each r As Row In Tables("B").Rows

    s + = r("单号") & ","

Next

For Each r As Row In Tables("A").Rows

    If s.Contains(r("单号")) = False Then

        If MessageBox.show("<A>的第 " & r.Index + 1 & " 行单号:" & r("单号") & " 未在<B>中出现,是否继续查找?","提示",MessageBoxButtons.YesNo,MessageBoxIcon.Question) = DialogResult.No Then

           Tables("A").Select(r.Index,Tables("A").Cols("单号").Index)

      i + = 1

           Exit For

        End If

    End If

Next

 

行号是从0开始的,要让用户看起来不别扭,r.Index 要加上1


--  作者:e-png
--  发布时间:2013/7/11 10:59:00
--  
这两人4点、5点都上论坛,赞一个,注意身体啊。。。