access中导入了数据库文件,其中字段7是证件号码,但是证件号码有多种,我需要筛选出身份证号码的用户来 10

也就是说筛选字段7中身份证号码(18位新身份证号码)正确的,该怎么操作。请大神帮忙。... 也就是说筛选字段7中身份证号码(18位新身份证号码)正确的,该怎么操作。请大神帮忙。 展开
 我来答
tjrmgs
2016-11-03 · TA获得超过5765个赞
知道大有可为答主
回答量:2161
采纳率:94%
帮助的人:1042万
展开全部
精确判断,可以编写一个全局自定义判断函数,假设函数名为Is_Id_Num(),严格按照身份证的编码规则判断字段值是否符合相应的规则,然后在SQL语句里调用该函数就可,例如:

select * from 表名 where Is_Id_Num(字段7)=True;
但是编写这个全局自定义判断函数很麻烦,首先您得知道完整的身份证编码规则,其次得有VBA编程能力,其代码量不会太少的,题主有时间的话可以研究一下。

由于精确判断很麻烦,本人建议粗略判断来实施筛选,其结果也可以做到八九不离十。例如:
select * from 表名 where len(字段7)=18 and
isdate(mid(字段7,7,4) & "-" & mid(字段7,11,2) & "-" & mid(字段7,13,2)) =true;

也就是以字符数和是否含有出生日期来判断,这样筛选基本上是准确的,但是不能保证100%准确。
追问
Q我272546294,没用过access 求教。
追答
建议题主有问题继续提问好了,我尽能力回答
尘雨洛烟
2016-11-03 · TA获得超过6203个赞
知道大有可为答主
回答量:3967
采纳率:79%
帮助的人:1015万
展开全部
select * from X_NUmm(具体表名) where Len(字段7)=18
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式