我首先在查询中以身份证号码换算出性别、出生日期,再用出生日期换算出年龄。如下:
性别: IIf(Len([居民身份证号])=18,IIf(Mid([居民身份证号],Len([居民身份证号])-1,1) Mod 2=0,"女","男"),IIf(Right([居民身份证号],1) Mod 2=0,"女","男"))
出生日期
出生日期: IIf(Len([居民身份证号])=15,DateSerial("19" & Mid([居民身份证号],7,2),Mid([居民身份证号],9,2),Mid([居民身份证号],11,2)),DateSerial(Mid([居民身份证号],7,4),Mid([居民身份证号],11,2),Mid([居民身份证号],13,2)))
现时年龄
年龄: Int(DateDiff("m",[出生日期],Date())/12) & "岁另" & DateDiff("m",[出生日期],Date()) Mod 12 & "个月"
但当身份证号码没有数据时,查询表显示“# 错误”
1、要当身份证号码为空时,查询表不显示“# 错误”并返回空值,如何处理
2、用出生日期换算年龄,出生日期为空时,查询表不显示“# 错误”并返回空值,如何处理