access身份证号码或出生日期为空时换算性别,年龄错误

我首先在查询中以身份证号码换算出性别、出生日期,再用出生日期换算出年龄。如下:性别:IIf(Len([居民身份证号])=18,IIf(Mid([居民身份证号],Len([... 我首先在查询中以身份证号码换算出性别、出生日期,再用出生日期换算出年龄。如下:
性别: 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、用出生日期换算年龄,出生日期为空时,查询表不显示“# 错误”并返回空值,如何处理
展开
 我来答
创作者zUzVB1Sl31
2012-04-27 · 编程类资料、英语学习资料
创作者zUzVB1Sl31
采纳数:1331 获赞数:5975

向TA提问 私信TA
展开全部
那你就先判断一下啊,判断当居民身份证号码为空时返回一个什么值。你那取位函数可以给个条件啊,当身份证是空时他是个什么数,不是时他是取位数。用IIF()函数啊
IIF(居民身份证号 IS NULL,DAY(date()),MID(身份证号),7,2)
因为身份证号字段类型未必和DATE一样
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式