设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 3627|回复: 5
打印 上一主题 下一主题

[其它] 如何通过身份证号码计算年龄?

[复制链接]
跳转到指定楼层
1#
发表于 2003-5-14 04:23:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
在我的表中有员工的身份证号码,设置成文本类型,有15位的和18位的,请问用什么函数可以计算出当前的年龄?谢谢诸位朋友!
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享分享 分享淘帖 订阅订阅
2#
发表于 2003-5-14 15:53:00 | 只看该作者
Function GetAge(strID as string) as integer
On Error Goto Err_GetAge

      Select Case Len(strID)
            Case 15
                GetAge=int((date()-cdate(format(mid(strID,7,2) & "-" & mid(strID,9,2) & "-" & mid(strID,11,2),"YYYY-MM-DD")))/365)
            Case 18
                 GetAge=int((date()-cdate(format(mid(strID,7,4) & "-" & mid(strID,11,2) & "-" & mid(strID,13,2),"YYYY-MM-DD")))/365)

            case Else
                 Goto Err_GetAge
      End Select

Exit_GetAge:
    Exit Function

Err_GetAge:
    GetAge=-1
    Resume Exit_GetAge
End Function
3#
发表于 2008-6-23 17:41:05 | 只看该作者
是我要的东东,但不知道怎样用,那位指导一下了!

谢谢!!!!!
4#
发表于 2008-6-24 15:19:06 | 只看该作者
2#的能否做一个给大家看看啊,菜鸟们都想学.
5#
发表于 2009-8-16 08:34:55 | 只看该作者
还是不懂。。。
6#
发表于 2011-11-7 23:38:36 | 只看该作者
1:15位的提取年龄=DATEDIF(TEXT(((LEN(A1)=15)*19)&MID(A1,7,INT(LEN(A1)/2-1)),"#-00-00"),"2010-12-31","Y")   
2:18位的简单  公式如下:=2011-MIDB(H3,7,4)  计算年龄的最简单方法  
3:从出生时间得知年龄的公式=2011-left(A1,4)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-5-30 17:36 , Processed in 0.077822 second(s), 29 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表