Foxtable(狐表)用户栏目专家坐堂 → 表查找两个表选出不重复的行


  共有6613人关注过本帖树形打印复制链接

主题:表查找两个表选出不重复的行

帅哥哟,离线,有人找我吗?
SZDVYE
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:213 积分:2228 威望:0 精华:0 注册:2012/2/3 14:14:00
表查找两个表选出不重复的行  发帖心情 Post By:2013/7/9 13:09:00 [只看该作者]

表A与表B有共同的列"单号",如何逐个查找出表A中有而,表B中没有单号,并提示 MessageBox.show("出现" & dr("单号") & "在" & Index(变量) & "行"), 按钮 "继续查找"(继续查找下一个)

 回到顶部
帅哥哟,离线,有人找我吗?
lsy
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:5246 积分:33163 威望:0 精华:8 注册:2013/1/17 21:28:00
  发帖心情 Post By: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
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:213 积分:2228 威望:0 精华:0 注册:2012/2/3 14:14:00
  发帖心情 Post By: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
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:5246 积分:33163 威望:0 精华:8 注册:2013/1/17 21:28:00
  发帖心情 Post By:2013/7/10 8:57:00 [只看该作者]

 

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

忘了定位行,重传一个

 

 

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

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

 回到顶部
帅哥哟,离线,有人找我吗?
SZDVYE
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:213 积分:2228 威望:0 精华:0 注册:2012/2/3 14:14:00
  发帖心情 Post By:2013/7/10 13:27:00 [只看该作者]

图片点击可在新窗口打开查看谢谢了

 回到顶部
帅哥哟,离线,有人找我吗?
SZDVYE
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:213 积分:2228 威望:0 精华:0 注册:2012/2/3 14:14:00
  发帖心情 Post By: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
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:5246 积分:33163 威望:0 精华:8 注册:2013/1/17 21:28:00
  发帖心情 Post By: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
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1695 积分:10725 威望:0 精华:0 注册:2009/10/25 16:45:00
  发帖心情 Post By:2013/7/11 10:59:00 [只看该作者]

这两人4点、5点都上论坛,赞一个,注意身体啊。。。

 回到顶部