Office中国论坛/Access中国论坛

标题: 如何通过身份证号码计算年龄? [打印本页]

作者: xuebai    时间: 2003-5-14 04:23
标题: 如何通过身份证号码计算年龄?
在我的表中有员工的身份证号码,设置成文本类型,有15位的和18位的,请问用什么函数可以计算出当前的年龄?谢谢诸位朋友!
作者: QINGSOLI    时间: 2003-5-14 15:53
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
作者: gkx219    时间: 2008-6-23 17:41
是我要的东东,但不知道怎样用,那位指导一下了!

谢谢!!!!!
作者: lilyrain1214    时间: 2008-6-24 15:19
2#的能否做一个给大家看看啊,菜鸟们都想学.
作者: t1t2t3t4t5    时间: 2009-8-16 08:34
还是不懂。。。
作者: 燕舞娉婷    时间: 2011-11-7 23:38
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)




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3