Foxtable(狐表)用户栏目专家坐堂 → 如何将月份一样并且工号一样的记录标记出来


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

主题:如何将月份一样并且工号一样的记录标记出来

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


加好友 发短信
等级:婴狐 帖子:38 积分:418 威望:0 精华:0 注册:2015/2/10 14:39:00
如何将月份一样并且工号一样的记录标记出来  发帖心情 Post By:2018/2/28 14:15:00 [只看该作者]

'''''''''''''''''''标记相同工号
For Each dr As DataRow In DataTables("员工收入合计2018").Select("工号 is not null")
    If DataTables("员工收入合计2018").Find("工号 = '" & dr("工号") & "' and _Identify <> " & dr("_Identify")) IsNot Nothing Then  '合并之后检查是否还有相同工号的人员
        dr("查相同工号标志") = "1"
    End If
Next
Tables("员工收入合计2018").Sort = "查相同工号标志 DESC"

上述只是针对一个月份相同工号的人员标记出来,那么请问如果该表中有一年的收入情况,应该如何将月份一样并且工号一样的记录标记出来?请各位老师多多指教!

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


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

1、参考

 

http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=107764&skin=0

 

2、如果你只有日期列,没有月份列,你需要对1的代码进行微小修改,具体发实例上来测试。


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


加好友 发短信
等级:婴狐 帖子:38 积分:418 威望:0 精华:0 注册:2015/2/10 14:39:00
  发帖心情 Post By:2018/2/28 15:26:00 [只看该作者]

有月份列和工号列的话,可以怎么标记?有没有简单易懂的方法?

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


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

比如代码

 

Dim idx As String = "-1,"
Dim idx_temp As String = ""
Dim pdr As DataRow = Nothing
Dim count As Integer = 0
Dim cs As String = "月份,工号"
Dim t As Table = Tables("员工收入合计2018")
For Each dr As DataRow In t.DataTable.Select("", cs)
   
    Dim flag As Boolean = False
    If pdr IsNot Nothing Then
        For Each c As String In cs.split(",")
            If pdr(c) <> dr(c) Then
                flag = True
                Exit For
            End If
        Next
    End If
    If flag Then
        If count > 1 Then
            idx &= idx_temp
        End If
        count = 1
        idx_temp = ""
        idx_temp &= dr("_Identify") & ","
    Else
        count += 1
        idx_temp &= dr("_Identify") & ","
    End If
   
    pdr = dr
Next

If count > 1 Then
    idx &= idx_temp
End If

t.filter = "_Identify in (" & idx.trim(",") & ")"


 

如果得到冗余值,参考 http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=114307&skin=0

 

[此贴子已经被作者于2018/2/28 15:37:13编辑过]

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


加好友 发短信
等级:婴狐 帖子:38 积分:418 威望:0 精华:0 注册:2015/2/10 14:39:00
  发帖心情 Post By:2018/2/28 16:15:00 [只看该作者]


图片点击可在新窗口打开查看此主题相关图片如下:d$pfxk$`3tb1a{2k0glfe.png
图片点击可在新窗口打开查看
这是实例,可以麻烦您解决一下么?

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


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

认认真真看4楼代码,直接复制粘贴就行啊。

 回到顶部