Foxtable(狐表)用户栏目专家坐堂 → 参加考试人员与不参加考试人员名单查询生成


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

主题:参加考试人员与不参加考试人员名单查询生成

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


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

1、

 

If e.DataCol.Name.contains("截止日期") Then
    Dim dr As DataRow = e.DataRow
    If dr.IsNull(e.DataCol.Name) Then

    Else
        Dim d As Date = "2018-1-1"
        Dim d1 As Date = dr(e.datacol.name)
        If d1 >= d Then
            e.datarow("备注1") = "长期有效"
        End If
    End If
End If

 

2、

 

If e.DataCol.Name.contains("截止日期") OrElse e.DataCol.name = "出生年月" Then
    Dim dr As DataRow = e.DataRow
    If dr.IsNull(e.DataCol.Name) orElse dr.IsNull("出生年月")  Then

    Else
        Dim d As Date = dr("出生年月")
        Dim d1 As Date = dr(e.datacol.name)
        Dim y As Integer = d.year

        Dim nl As Integer
        If format(d, "MMdd") <= Format(d1, "MMdd") Then
            nl = d1.year - y
        Else
            nl = d1.Year - y -1
        End If

        If nl >= 50 Then e.datarow("备注2") = "年满50周岁"
    End If
End If


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


加好友 发短信
等级:婴狐 帖子:15 积分:194 威望:0 精华:0 注册:2018/4/27 0:23:00
  发帖心情 Post By:2018/5/29 11:31:00 [只看该作者]

老师,我的必考人员+免考人员=总表,这些是没有排除重复的情况下是正确的,同一个身份证在总表里可能有多次记录,现在要求统计需要参加考试的人数和不参加考试的人数,但是当把通过高级筛选——重复筛选——排除重复值时,必考人员(排除重复值)+免考人员(排除重复值)#总表(排除重复值);这个是不能通过简单的筛选实现吗?还是。。。。。。。图片点击可在新窗口打开查看


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


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

排除重复以后,必考和免考的人员数量不等于总表?

 

请做一个具体例子说明情况,删除敏感数据上传实例。


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


加好友 发短信
等级:婴狐 帖子:15 积分:194 威望:0 精华:0 注册:2018/4/27 0:23:00
  发帖心情 Post By:2018/5/29 12:58:00 [只看该作者]

老师,我是以身份证为列去重复的,演示暂时删除了,以姓名演示,待会实际中还得以身份证为筛选列进行重复值去除。

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:总表测试.xls

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:必考(测试).xls

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:免考测试.xls

 

去重复前:必考测试+免考测试=总表测试

去重复后:但是去除重复值后(日常工作——筛选——高级——重复筛选——排队重复值),得到的结果是:必考(去重复)+免考(去重复)#总表(去重复),比总表多4个。我的实际中去重复后这两个相加也是比总表多400多人。

 

现在领导要求统计各个单位参加考试的人和不能加考试的人,我算出来老是对不上。

是不是我总表往出分的时候SQL语句不对呢。

您看一下:

1、必考人员:

Dim d As Date = "2018-01-01"
Dim filter As String = "([初级#截止日期]<#" & d & "# or [初级#截止日期] is null) and ([中级#截止日期]<#" & d & "# or [中级#截止日期] is null) and ([高级#截止日期]<#" & d & "# or [高级#截止日期] is null) and (初级年龄 < 50 or 初级年龄 is null) and (中级年龄 < 50 or 中级年龄 is null) and (高级年龄 < 50 or 高级年龄 is null)"
Tables("总表").filter = filter

2、免考人员

Dim d As Date = "2018-01-01"
Dim filter As String = "not(([基本级#截止日期]<#" & d & "# or [基本级#截止日期] is null) and ([中级#截止日期]<#" & d & "# or [中级#截止日期] is null) and ([高级#截止日期]<#" & d & "# or [高级#截止日期] is null) and (基本级年龄 < 50 or 基本级年龄 is null) and (中级年龄 < 50 or 中级年龄 is null) and (高级年龄 < 50 or 高级年龄 is null))"
Tables("总表").filter = filter


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


加好友 发短信
等级:婴狐 帖子:15 积分:194 威望:0 精华:0 注册:2018/4/27 0:23:00
  发帖心情 Post By:2018/5/29 14:27:00 [只看该作者]

老师,我检查了一下,应该是筛选语句的问题,您看怎么做才对。比如说“王蜀豫”这个人,他有两行成绩记录,第一行没考过,就把他抽到必考人员里面了,第二行记录成绩长期有效,他就进入到了免考人员里。
怎么样才能正确统计需要和不需要考试的人员数呢

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


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

1、先查找免考人员,如

 

Dim d As Date = "2018-01-01"
Dim filter As String = "[初级#截止日期]>=#" & d & "# or [中级#截止日期]>=#" & d & "# or  [高级#截止日期]>=#" & d & "# or 初级年龄 >= 50 or 中级年龄 >= 50 or 高级年龄 >= 50"
Tables("总表").filter = filter

 

2、排除免考人员即可

 

Dim d As Date = "2018-01-01"
Dim filter As String = "[初级#截止日期]>=#" & d & "# or [中级#截止日期]>=#" & d & "# or  [高级#截止日期]>=#" & d & "# or 初级年龄 >= 50 or 中级年龄 >= 50 or 高级年龄 >= 50"
Dim str = Tables("总表").DataTable.GetComboListString("身份证号", filter).replace("|", "','")
Tables("总表").filter = "身份证号 not in ('" & str & "')"


 回到顶部
总数 26 上一页 1 2 3