access利用查询,找出表中错误的身份证号。

表中有大量的身份证号,其中有错误的身份证号(特别是位数是18位,但出生日期超出范围,最后一位校验码不正确等),想通过查询语句找出这包含这些身份证号的记录。请大师帮忙。

第1个回答  2016-06-01
关键就是拼sql语句了,按照你说的,那就是加判断条件,首先身份中字段的长度=18的,and 截取身份证的出生日期部分与出生日期比较 and 截取身份证最后一位判断。主要就是通过截取字符串来比较追问

我也这么想,但语句不会啊!能否赐教?

追答

截取字符串,需要判断哪几位就截哪几位

本回答被网友采纳

access利用查询,找出表中错误的身份证号。
关键就是拼sql语句了,按照你说的,那就是加判断条件,首先身份中字段的长度=18的,and 截取身份证的出生日期部分与出生日期比较 and 截取身份证最后一位判断。主要就是通过截取字符串来比较

ACCESS中怎样删除错误位数的身份证号码?
在ACCESS中,若要删除错误位数的身份证号码,首先创建一个删除查询是简便途径。具体操作如下:打开ACCESS软件,新建查询。进入视图模式,切换至SQL视图。在查询编辑器窗口中输入SQL代码:DELETE FROM 数据表名称 WHERE Len(身份证字段)18。这里的“数据表名称”应替换为你需要操作的表名,“身份证字段”则...

ACCESS中怎样删除错误位数的身份证号码?
在ACCESS中创建删除查询,或者程序里执行:DELETE FROM 数据表名称 WHERE Len(身份证字段)<>15 AND Len(身份证字段)<>18 就ok了!我晕,打开access新建查询->视图->SQL视图->输入上面的代码,保存执行 。

access ado 窗体查询出现标准表达式中数据类型不匹配问题
问题出在 《temp = "select * from 申请人信息 where 身份证号码 = " & 身份证号码》这个语句中,既然是“标准表达式中数据类型不匹配”,那么说明你的“身份证号码”这个变量的数据类型与字段“身份证号码”的数据类型不一样。一般变量名称尽量不要使用汉字,并且你的变量名称与字段名称是一样的,...

Access中创建一个查询,查找"身份证"字段第4位至第6位值为"102"的纪录...
1、打开数据库ACCESS。2、选择创建中的查询设。3、弹出对话框分别双击"tStud"、"tCourse"和"tScore"。4、然后拉选"tStud"学号到"tScore"学号,"tCourse"课程号到"tScore"课程号,建立关系。5、然后分别双击姓名、课程名和成绩字段。6、单击执行按钮。7、输入另存的文件名qT1即可。

ACCESS 试图执行的查询中不包含作为聚合函数一部分的特定表达式
就是查询语句的函数不正确,正确的格式如下 有count函数必然是汇总查询,需要分组。SELECT GRADE.身份证号, GRADE.姓名, Count(GRADE.考试月份) AS 考试次数 FROM GRADE INNER JOIN REGI ON GRADE.身份证号 = REGI.身份证号 GROUP BY GRADE.身份证号, GRADE.姓名 ...

access导出excel身份证号
身份证的长度太大了,无法直接写入excel的单元格,后面几位会变成0的。两个方法解决,1、把单元格格式先设置为文本,再写入身份证号码 2、身份证号码前加单引号' 再写入单元格。strline = strline & "'" & x.value & chr(9)

为什么从Access中导入EXCEL表中的数值(如身份证号码)会出现数值不对_百...
因为EXCEL不能支持那么 长的有效数字。。。后面几位会变成0。。只能用文本方式存储,你先输 ' 号,再输号码,就能正常显示。。如果是大量输入,可以先选中该列,ctrl+1,把格式设成文本,这样这一列就可以直接输入身份证号码了

access中导入了数据库文件,其中字段7是证件号码,但是证件号码有多种,我...
精确判断,可以编写一个全局自定义判断函数,假设函数名为Is_Id_Num(),严格按照身份证的编码规则判断字段值是否符合相应的规则,然后在SQL语句里调用该函数就可,例如:select * from 表名 where Is_Id_Num(字段7)=True;但是编写这个全局自定义判断函数很麻烦,首先您得知道完整的身份证编码规则,其次...

ACCESS mdb数据库多表查询
update A,B set A.重复=1 where A.身份证号码=B.身份证号码 还有就是“重复”字段在这里我是当作数字类型,如果是字符串,要改为:A.重复='1'如果还不行,难道2013改用标准的SQL语句了?我没这版本,你试试: UPDATE A SET A.重复=1 FROM A , B WHERE A.身份证号码=B.身份证号码 ...

相似回答