Foxtable(狐表)用户栏目专家坐堂 → 两表除部门不同外多列值对比用什么方法?


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

主题:两表除部门不同外多列值对比用什么方法?

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


加好友 发短信
等级:一尾狐 帖子:472 积分:5597 威望:0 精华:0 注册:2015/4/5 14:08:00
两表除部门不同外多列值对比用什么方法?  发帖心情 Post By:2019/6/30 8:31:00 [只看该作者]

表A:第1列、第2列、第3列、第4列

表B:第1列、第2列、第3列、第4列

想实现:如果表A和表B中4列数据相同则显示“通过”
          
            如果表A和表B中4列数据中任何一列不同,则提示是哪列数据不同


说明 表A由多个部门,多条数据构成
      
       表B只有一条数据


请问老师由什么办法提高运行速度吗?

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/6/30 10:00:00 [只看该作者]

直接比较即可,如

 

datacolchanged事件,写代码

 

Dim r As Row = Tables("表B").rows(0)

If e.datarow("第一列") = r("第一列") andalso e.datarow("第二列") = r("第二列") andalso  e.datarow("第三列") = r("第三列") andalso  e.datarow("第四列") = r("第四列") then

    e.datarow("状态") = "通过"

Else

    e.datarow("状态") = "不通过"

End If


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


加好友 发短信
等级:一尾狐 帖子:472 积分:5597 威望:0 精华:0 注册:2015/4/5 14:08:00
  发帖心情 Post By:2019/6/30 10:46:00 [只看该作者]

主要我想要各部门知道是什么原因不能通过的。有什么号的办法吗?


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/6/30 11:46:00 [只看该作者]

Dim r As Row = Tables("表B").rows(0)

If e.DataRow("第一列") <> r("第一列") Then
   
    e.DataRow("状态") = "不通过(第一列)"
   
ElseIf  e.DataRow("第二列") <> r("第二列") Then
   
    e.DataRow("状态") = "不通过(第二列)"
   
Else
   
    e.DataRow("状态") = "通过"
   
End If


 回到顶部