Access计算根据"身份证号码"字段计算年龄和性别的表达式,最好是还能确定户籍地址,该在什么地方输入?

我只知道是用"DateDiff",但是怎么用,怎么编写我都不知道,谢谢各位大虾了.gogoyangsoft辛苦了,但是经过测试还是无法执行,麻烦你在百忙中抽时间到ACCE... 我只知道是用"DateDiff",但是怎么用,怎么编写我都不知道,谢谢各位大虾了.
gogoyangsoft辛苦了,但是经过测试还是无法执行,麻烦你在百忙中抽时间到ACCESS中测试一下,谢谢了,最好是能够直接发个已经通过测试的文件给我,真的很感激你,我的QQ:52722097
展开
 我来答
wjrxwwjrxw
2007-06-18
知道答主
回答量:1
采纳率:0%
帮助的人:0
展开全部
谢谢你的帮助,我已经提高了分数,相信非你莫属了,也许是我不知道用法,我也是在OFFICE 2003 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) & "-" & Mid(身份证号码, 11, 2)
Else
If Len(身份证号码) = 18 Then
xbstr = Mid(身份证号码, 17, 1)
出生日期.Value = Mid(身份证号码, 7, 4) & "-" & Mid(身份证号码, 11, 2) & "-" & Mid(身份证号码, 13, 2)
Else
MsgBox "身份证数位错误,请检查。", 64, "提醒"
身份证号码.SetFocus
Exit Sub
End If
End If
result = xbstr Mod 2
If result = 0 Then
性别.Value = "女"
Else
性别.Value = "男"
End If
Exit_身份证号码_Click:
Exit Sub
Err_身份证号码_Click:
MsgBox "不能识别的身份证!", 64, "提醒"
Resume Exit_身份证号码_Click
End Sub

Private Sub 主体_Click()

End Sub
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
gogoyangsoft
2007-06-13 · TA获得超过137个赞
知道答主
回答量:126
采纳率:0%
帮助的人:0
展开全部
呵呵,我有个EXCEL的计算公式,给你参考下
假定A1输入身份证号码
计算年龄的公式:
=IF(LEN(A1)=18,YEAR(TODAY())-YEAR(DATE(MID(A1,7,4),MID(A1,11,2),MID(A1,13,2))),(YEAR(TODAY())-YEAR(DATE(MID(A1,7,2),MID(A1,9,2),MID(A1,11,2)))))

计算性别的公式:
=IF(LEN(A1)=18,IF(MOD(MID(A1,17,1),2)=1,"男","女"),IF(MOD(MID(A1,15,1),2)=1,"男","女"))

年龄只能精确到年,如果你要精确到月,就再加一个判断当月是否大月出生月份的判断,但太麻烦,而且可能出问题.

================================================
好吧,我在ACCESS里试了下,原来有些函数要换一下,不过基本上方法都一样:

年龄:
=IIf(Len([idcard])=18,Year(Date())-Year(CDate(Mid([idcard],7,4) & "-" & Mid([idcard],11,2) & "-" & Mid([idcard],13,2))),(Year(Date())-Year(CDate(Mid([idcard],7,2) & "-" & Mid([idcard],9,2) & "-" & Mid([idcard],11,2)))))

性别:
=IIf(Len([idcard])=18,IIf((Mid([idcard],17,1) Mod 2)=1,"男","女"),IIf((Mid([idcard],15,1) Mod 2)=1,"男","女"))

idcard为身份证字段名

我在OFFICE 2003里做的,应该都一样吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式