Foxtable(狐表)用户栏目专家坐堂 → 筛选条件问题


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

主题:筛选条件问题

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


加好友 发短信
等级:小狐 帖子:380 积分:3154 威望:0 精华:0 注册:2012/11/16 12:19:00
筛选条件问题  发帖心情 Post By:2024/2/28 9:48:00 [只看该作者]

如下筛选条件:监测对象家中有义务教育阶段适龄儿童少年失学辍学(6(包含)-15岁(包含)无原因
怎么能简化些?如下代码还得在表上增加出生日期列和年龄列,想不增加这两列,通过一个函数从身份证号获取年龄

If e.DataCol.Name = "身份证号码" Then '如果更改的是身份证号码列

    If e.DataRow.IsNull("身份证号码") Then '身份证号码是否为空
        e.
DataRow("出生日期") = Nothing '如果为空,则清除出生日期
   
Else
   
    '否则从身份证号码列中提取出生日期
        e.
DataRow("出生日期") = ReadBirthday(e.DataRow("身份证号码"))
    End
If
End
If


If e.DataCol.Name = "出生日期" Then
    If
e.DataRow.IsNull("出生日期") Then '如果没有输入出生日期
       
e.DataRow("年龄") = Nothing '则清空年龄
    Else
   
    '否则计算年龄
       
e.DataRow("年龄") = Date.Today.Year - e.DataRow("出生日期").Year

    End If
End If


Filter = "易返贫致贫户监测对象类型 = '突发严重困难户' Or '边缘易致贫户' Or '脱贫不稳定户'  And 年龄 > 6 And 年龄< 15 在校生状况 not(小学 or 七年级 or 八年级 or 九年级) And 失学辍学原因 Is null"



 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110743 积分:563641 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2024/2/28 9:54:00 [只看该作者]

表达式没有办法直接取年龄,只能增加辅助列。

Filter = "易返贫致贫户监测对象类型 in ('突发严重困难户','边缘易致贫户','脱贫不稳定户')  And 年龄 > 6 And 年龄< 15 and  在校生状况 not in('小学' ,'七年级','八年级','九年级') And 失学辍学原因 Is null"

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


加好友 发短信
等级:小狐 帖子:380 积分:3154 威望:0 精华:0 注册:2012/11/16 12:19:00
  发帖心情 Post By:2024/2/28 15:51:00 [只看该作者]

用代码增加出生日期列和年龄列怎么写,把这两段代码怎么合并到一起?

 回到顶部
帅哥,在线噢!
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110743 积分:563641 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2024/2/28 16:11:00 [只看该作者]

If e.DataCol.Name = "身份证号码" Then '如果更改的是身份证号码列

    If e.DataRow.IsNull("身份证号码"Then '身份证号码是否为空
        e.
DataRow("出生日期") = Nothing '如果为空,则清除出生日期

e.DataRow("年龄") = Nothing '则清空年龄
    
Else
    
    '否则从身份证号码列中提取出生日期
        e.
DataRow("出生日期") = ReadBirthday(e.DataRow("身份证号码"))

e.DataRow("年龄") = Date.Today.Year - e.DataRow("出生日期").Year
    End
 If
End
 
If



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


加好友 发短信
等级:小狐 帖子:380 积分:3154 威望:0 精华:0 注册:2012/11/16 12:19:00
  发帖心情 Post By:2024/2/28 16:31:00 [只看该作者]

写在DataColChanged事件中可以,想把代码写在按钮Click上怎么改?

 回到顶部
帅哥,在线噢!
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110743 积分:563641 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2024/2/28 16:47:00 [只看该作者]

dim r as row = tables("某表").current
if r isnot nothing then

    If r.IsNull("身份证号码"Then '身份证号码是否为空
        r
("出生日期") = Nothing '如果为空,则清除出生日期

r("年龄") = Nothing '则清空年龄
    
Else
    
    '否则从身份证号码列中提取出生日期
        r
("出生日期") = ReadBirthday(r("身份证号码"))

r("年龄") = Date.Today.Year - r("出生日期").Year
    End
 If

end if

 回到顶部