Foxtable(狐表)用户栏目专家坐堂 → 如何筛选出刚修改过的单元格


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

主题:如何筛选出刚修改过的单元格

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


加好友 发短信
等级:二尾狐 帖子:555 积分:5037 威望:0 精华:0 注册:2012/2/11 13:27:00
如何筛选出刚修改过的单元格  发帖心情 Post By:2015/12/2 16:41:00 [显示全部帖子]

说明书内容:修改订单数据后,按下菜单中的标记按钮,即可以红底白字标出所有已经修改过的单元格:


已知某个表的列 有 :  客户 单价 折扣

每一列中 都有记录发生了修改


1、筛选出 客户列中有变化的记录


2、筛选出无论哪列有变化及作为有变化的记录


我想,既然系统能测出哪些个单元格是刚被修改ud,就一定能筛选出来。请教 如何书写代码

[此贴子已经被作者于2015/12/2 16:45:02编辑过]

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


加好友 发短信
等级:二尾狐 帖子:555 积分:5037 威望:0 精华:0 注册:2012/2/11 13:27:00
  发帖心情 Post By:2015/12/2 16:48:00 [显示全部帖子]

我要分两种,一种是针对某一列中有变化的,二是针对所有列 有变化 的,帮助文档中找不到 这个代码的用法,请问怎么写?

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


加好友 发短信
等级:二尾狐 帖子:555 积分:5037 威望:0 精华:0 注册:2012/2/11 13:27:00
  发帖心情 Post By:2015/12/2 17:05:00 [显示全部帖子]

大红袍老师,可能我表达的意思错了,我要的是筛选,不是标志颜色

就是类似下面这个表达式中的条件,如何针对已经 修改过内容的做个筛选:
Tables("职工表").Filter= "                '"     '筛选显示

一种是 筛选出 客户 列有变化的记录
二种是筛选出 客户 单价 折扣 列中至少一个列变化的记录
[此贴子已经被作者于2015/12/2 17:08:06编辑过]

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


加好友 发短信
等级:二尾狐 帖子:555 积分:5037 威望:0 精华:0 注册:2012/2/11 13:27:00
  发帖心情 Post By:2015/12/2 22:42:00 [显示全部帖子]

上面是能筛选出[第二列]中有数据变动的记录

如果要筛选所有列有数据变动的记录,我用了下列代码:

Dim idx As String = "-1,"
For Each dr As DataRow In DataTables("职工表").datarows
    For Each dc As DataCol In DataTables("职工表").DataCols
        If dr(dc.Name) <> dr.OriginalValue(dc.Name) Then
            idx &= dr("_Identify") & ","
        End If
    Next
Next
Tables("职工表").Filter = "_Identify in (" & idx.trim(",") & ")"

请教大红袍老师,这样对不对呢?

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


加好友 发短信
等级:二尾狐 帖子:555 积分:5037 威望:0 精华:0 注册:2012/2/11 13:27:00
  发帖心情 Post By:2015/12/2 23:52:00 [显示全部帖子]

Exit For  表示不再遍列该行中后面其他的列了,是不是?

[此贴子已经被作者于2015/12/2 23:58:14编辑过]

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


加好友 发短信
等级:二尾狐 帖子:555 积分:5037 威望:0 精华:0 注册:2012/2/11 13:27:00
  发帖心情 Post By:2015/12/7 16:49:00 [显示全部帖子]

请教:
下面的代码是遍历“表A”的所有列

Dim idx As String = "-1,"
For Each dr As DataRow In DataTables("表A").datarows
    For Each dc As DataCol In DataTables("表A").DataCols
        If dr(dc.Name) <> dr.OriginalValue(dc.Name) Then
            idx &= dr("_Identify") & ","
            Exit For
        End If
    Next
Next

Tables("表A").Filter = "_Identify in (" & idx.trim(",") & ")"


如果我想遍历指定的列【列名3】【列名4】【列名5】,这个代码怎么改,从来没学习这部分内容,敬请大红袍老师帮我改一下代码。

 回到顶部