Rss & SiteMap

Foxtable(狐表) http://www.foxtable.com

新一代数据库软件,完美融合Access、Foxpro、Excel、vb.net之优势,人人都能掌握的快速软件开发工具!
共11 条记录, 每页显示 10 条, 页签: [1] [2]
[浏览完整版]

标题:以身份证号为例,怎么实现筛选,求指点

1楼
lrh9537 发表于:2024/2/16 8:20:00
假定表A,有“身份证号码”列


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

[此贴子已经被作者于2024/2/16 8:20:27编辑过]
2楼
wyz20130512 发表于:2024/2/16 16:13:00
http://www.foxtable.com/webhelp/topics/2624.htm
3楼
有点蓝 发表于:2024/2/17 20:07:00
第1选项:len(身份证号码) <> 18
第2选项:无法筛选只能使用代码判断,参考2楼
第3选项:len(身份证号码) = 15
第4选项:身份证号码 is null
4楼
lrh9537 发表于:2024/2/18 9:53:00
谢谢老师指点 
[此贴子已经被作者于2024/2/18 14:58:20编辑过]
5楼
有点蓝 发表于:2024/2/18 10:02:00
j建一个逻辑列,名称为【号码位数异常】,datacolchanged事件

if e.datacol.name = "证件号码" then
if e.datarow.isnull("证件号码") then
e.datarow("号码位数异常") =false
else
e.datarow("号码位数异常") = not ValidPIN(e.datarow("证件号码"))
end if
end if

然后筛选按钮
Dim Filter As String
If e.Form.Controls("RadioButton1").Checked Then
    Filter = "len(证件号码) <> 18"
elseIf e.Form.Controls("RadioButton2").Checked Then
    Filter = "号码位数异常=true"
elseIf e.Form.Controls("RadioButton3").Checked Then
    Filter = "len(证件号码) =15"
elseIf e.Form.Controls("RadioButton4").Checked Then
    Filter = "证件号码 is null"
End If
If Filter > "" Then
    Tables("户信息总表").Filter = Filter
End If


[此贴子已经被作者于2024/2/18 10:10:03编辑过]
6楼
lrh9537 发表于:2024/2/18 10:53:00
假定证件号码=18位,那么校验身份证号码是否正确,如果不正确,显示筛选结果

 If "len(证件号码) = 18" Then
        If ValidPIN("证件号码") = False Then
            Filter = "不符合校验规则 = True"
        End If 
    End If 

请老师指点
7楼
有点蓝 发表于:2024/2/18 11:03:00
建一个逻辑列,名称为【不符合校验规则】,datacolchanged事件

if e.datacol.name = "证件号码" then
if e.datarow.isnull("证件号码") then
e.datarow("不符合校验规则") =false
else
e.datarow("不符合校验规则") = not ValidPIN(e.datarow("证件号码"))
end if
end if

筛选按钮
……
elseIf e.Form.Controls("RadioButton2").Checked Then
    Filter = "不符合校验规则=true"
……
8楼
lrh9537 发表于:2024/2/18 15:00:00

其他功能都实现了,只有校验没成功,请老师再指点下,谢谢
[此贴子已经被作者于2024/2/18 15:09:41编辑过]
9楼
有点蓝 发表于:2024/2/18 15:03:00
放到表属性的datacolchanged事件,不是放到项目属性里的全局表事件
10楼
lrh9537 发表于:2024/2/18 15:09:00
校验不了
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.table

共11 条记录, 每页显示 10 条, 页签: [1] [2]

Copyright © 2000 - 2018 foxtable.com Tel: 4000-810-820 粤ICP备11091905号

Powered By Dvbbs Version 8.3.0
Processed in .04297 s, 3 queries.