Foxtable(狐表)用户栏目专家坐堂 → 对比两个表,并标记出不同


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

主题:对比两个表,并标记出不同

美女呀,离线,留言给我吧!
zhangning
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:513 积分:3355 威望:0 精华:0 注册:2016/4/14 16:56:00
对比两个表,并标记出不同  发帖心情 Post By:2016/8/9 17:23:00 [显示全部帖子]

有两个表,一个是“出勤相关”,

图片点击可在新窗口打开查看此主题相关图片如下:9.png
图片点击可在新窗口打开查看

一个是“考勤机”

图片点击可在新窗口打开查看此主题相关图片如下:8.png
图片点击可在新窗口打开查看

想让两个表进行对比,对比列是:

图片点击可在新窗口打开查看此主题相关图片如下:10.png
图片点击可在新窗口打开查看

事先设置好样式,名称为“差异”

想达到的效果是,对同一人,同一日期,的要对比的列进行对比,有差异的,执行“差异”样式,进行标记,

请问老师,如何才能达到如何效果?代码怎么写?

 回到顶部
美女呀,离线,留言给我吧!
zhangning
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:513 积分:3355 威望:0 精华:0 注册:2016/4/14 16:56:00
  发帖心情 Post By:2016/8/9 17:27:00 [显示全部帖子]

差异直接在两个表中都需要显现
[此贴子已经被作者于2016/8/9 17:37:15编辑过]

 回到顶部
美女呀,离线,留言给我吧!
zhangning
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:513 积分:3355 威望:0 精华:0 注册:2016/4/14 16:56:00
  发帖心情 Post By:2016/8/10 8:06:00 [显示全部帖子]

管理者   密码:qdrA001
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:人事管理 - 副本.zip



 回到顶部
美女呀,离线,留言给我吧!
zhangning
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:513 积分:3355 威望:0 精华:0 注册:2016/4/14 16:56:00
  发帖心情 Post By:2016/8/10 9:49:00 [显示全部帖子]

老师,操作后没有反应,不知问题出在哪里了

 回到顶部
美女呀,离线,留言给我吧!
zhangning
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:513 积分:3355 威望:0 精华:0 注册:2016/4/14 16:56:00
  发帖心情 Post By:2016/8/10 10:26:00 [显示全部帖子]

老师,已经提前设置好了“周六日”和“差异”样式了。

 回到顶部
美女呀,离线,留言给我吧!
zhangning
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:513 积分:3355 威望:0 精华:0 注册:2016/4/14 16:56:00
  发帖心情 Post By:2016/8/13 12:01:00 [显示全部帖子]

老师,这个很好用,但只限于 两个表都 某天某人都有的时才起作用,
如何在如果一个表中没有,一个表中有,在有的那个表中将整行都标注样式呢?

 回到顶部
美女呀,离线,留言给我吧!
zhangning
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:513 积分:3355 威望:0 精华:0 注册:2016/4/14 16:56:00
  发帖心情 Post By:2017/9/15 14:26:00 [显示全部帖子]

以下是引用Hyphen在2016/8/13 14:41:00的发言:
Dim ary() As String = {"一倍半加班H", "二倍加班H", "三倍加班H"}
If array.Indexof(ary, e.Col.name) >= 0 Then
    If e.Row.IsNull("日期") = False AndAlso e.Row.IsNull("当事人") = False Then
        Dim dr As DataRow = DataTables("考勤机").Find(CExp("姓名='{0}' and 日期 = #{1}#",e.Row("当事人"),e.Row("日期") ))
        If dr IsNot Nothing Then
            If dr(e.Col.name) <> e.Row(e.Col.name) Then
                e.Style = "差异"
            End If
        Else
            e.Style = "差异"
        End If
    End If
End If

老师,您好!上记红色部分麻烦老师给解释解释呗,特别是CEXP,和{0}{1},0和1代表的是什么?

 回到顶部
美女呀,离线,留言给我吧!
zhangning
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:513 积分:3355 威望:0 精华:0 注册:2016/4/14 16:56:00
  发帖心情 Post By:2017/9/15 14:55:00 [显示全部帖子]

老师,我仿照着写了以下代码,请老师帮斧正一下,谢谢!


Dim ary() As String = {"作业数量"}
If array.Indexof(ary, e.Col.name) >= 0 Then
    If e.Row.IsNull("作业piao") = False AndAlso e.Row.IsNull("工程") = False AndAlso e.Row.IsNull("项目略") = False AndAlso e.Row.IsNull("作业者") = False Then
        Dim dr As DataRow = DataTables("日清").Find(CExp("作业piao='{0}' and 工程='{1}' and 项目略='{2}' and 作业者='{3}',e.Row("作业piao"),e.Row("工程") ,e.Row("项目

略"),e.Row("作业者")))
        If dr IsNot Nothing Then
            If dr(e.Col.name) <> e.Row(e.Col.name) Then
                e.Style = "差异"
            End If
        Else
            e.Style = "差异"
        End If
    End If
End If


另外,还想加上,如一致,则列”两者一致“为TRUE,不会加,请老师帮帮忙,谢谢!


 回到顶部
美女呀,离线,留言给我吧!
zhangning
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:513 积分:3355 威望:0 精华:0 注册:2016/4/14 16:56:00
  发帖心情 Post By:2017/9/15 15:30:00 [显示全部帖子]

谢谢老师,如要表达如有差异,则”两者一致“列为FALSE,
就将  e.Style = "差异    更换成  e.Row("两者一致") = False

在DATACOLCHANGED中,是不是有差异,”两者一致“列就为FALSE,一致的话,就是TRUE了呢?


 回到顶部