access有身份证号码,如何筛选性别和年月日

如题所述

问题很简单,我给你一个理论知识,你可以自己分析:
1、身份证分一代、二代,一代是15位数,二代是18位数;
2、两代身份证均是以国家行政区划代码开头,即前面6位,分别是身份证持有人所在省、市、县,每级2位);
3、两代身份证第7位开始都是持有人的生日。不同的是一代为6位,二代为8位。(因为一代遇到了千年虫问题,所以现在都改用二代了。);
4、两代身份证生日后的2位(一代为第13~14位、二代为第15~16位),都是身份证持有人所在乡镇的行政代码;
5、两代身份证乡镇行政代码后的1位(一代为第15位、二代为第17),是性别代码:为奇数是男性,偶数是女性;
由上得知,想在查询中利用身份证来筛选 性别 为 “女” 的资料,则条件可写为:
WHERE (((IIf(Len([身份证])=18,Left(Right([身份证],2),1) Like "[24680]",Right([身份证],1) Like "[24680]"))<>False))
相反 ,要想查询 性别 为“男”的资料,条件可写:
WHERE (((IIf(Len([身份证])=18,Left(Right([身份证],2),1) Like "[13579]",Right([身份证],1) Like "[13579]"))<>False))
出生日期与此相近,望自行测试,不会时,再问……
温馨提示:内容为网友见解,仅供参考
无其他回答

Access计算根据"身份证号码"字段计算年龄和性别的表达式,最好是还能...
Private Sub 出生日期_BeforeUpdate(Cancel As Integer)End Sub Private Sub 身份证号码_AfterUpdate()On Error GoTo Err_身份证号码_Click If Len(身份证号码) = 15 Then xbstr = Right(Trim(身份证号码), 1)出生日期.Value = Mid(身份证号码, 7, 2) & "-" & Mid(身份证号码, 9, 2)...

access用身份证号码计算年龄
1、首先,打开access创建空白数据库,在数据库中建表并插入数据。2、选择菜单栏中的“创建”,选择“查询设计”按钮。弹出“显示表”窗口。3、选中“表1”,点击“添加”按钮。3、在查询设计网格第一列的字段行点击鼠标右键,选择“生成器”选项,打开<表达式生成器>对话框,在对话框中输入表达式“m_a...

access有身份证号码,如何筛选性别和年月日
1、身份证分一代、二代,一代是15位数,二代是18位数;2、两代身份证均是以国家行政区划代码开头,即前面6位,分别是身份证持有人所在省、市、县,每级2位);3、两代身份证第7位开始都是持有人的生日。不同的是一代为6位,二代为8位。(因为一代遇到了千年虫问题,所以现在都改用二代了。

如何用Access 计算身份证年月日
If Len(Me![身份证号]) = 18 Then Me![出生日期] = DateSerial(Mid(Trim(Me![身份证号]), 7, 4), Mid(Trim(Me![身份证号]), 11, 2), Mid(Trim(Me![身份证号]), 13, 2))Else Me![出生日期] = DateSerial(1900 + Mid(Trim(Me![身份证号]), 7, 2), Mid(Trim(Me![...

access身份证号码或出生日期为空时换算性别,年龄错误
那你就先判断一下啊,判断当居民身份证号码为空时返回一个什么值。你那取位函数可以给个条件啊,当身份证是空时他是个什么数,不是时他是取位数。用IIF()函数啊 IIF(居民身份证号 IS NULL,DAY(date()),MID(身份证号),7,2)因为身份证号字段类型未必和DATE一样 ...

access用身份证号码计算年龄
1、首先,打开需要的Excel表格。2、在年龄输入单元格内直接输入公式“=YEAR(TODAY())-MID(A2,7,4)”。3、按下回车键,年龄即可得出。4、然后鼠标选择刚刚得出结果的单元格,鼠标箭头移动到单元格右下角,直到箭头变为十字符号。5、鼠标左键向下拉动,之后的年龄就都出来了。

亲,麻烦问,如何在access表中,把性别那一列,利用更新查询SQL语句,从身份...
身份证倒数第二个数代表性别,奇数是男性,偶数是女性,假设你身份证那一列叫identification select case when substring(identification,len(identification)-1,1) %2 =0 then '女' else '男' end from table

在数据库ACCESS中,如何将身份证号码转换为出生日期格式
用asp 可以做一下 一截取函数 先判断是15位还是18位 然后截取其中 第几个到第几个的数字 转换成日期

如何从身份证号码中提取出生年月日带斜杠
1、第一步:打开EXCEl文件,选择身份证号所在列,点击右键 ,选择复制第二步:然后在“数据”菜单下选择“分列”第三步:在“分列”对话框中选择“固定列宽”,点击下一步第四步:单击数据预览的下方的标尺,把身份证号,分成3段,中间一段为出生年月,点击下一步第五步:单击图示中标出来的3,分别...

access中导入了数据库文件,其中字段7是证件号码,但是证件号码有多种,我...
但是编写这个全局自定义判断函数很麻烦,首先您得知道完整的身份证编码规则,其次得有VBA编程能力,其代码量不会太少的,题主有时间的话可以研究一下。由于精确判断很麻烦,本人建议粗略判断来实施筛选,其结果也可以做到八九不离十。例如:select * from 表名 where len(字段7)=18 and isdate(mid(...

相似回答