如果没看错的话,那个函数用错了应该是Int(DateDiff("d",datEmpDateOfBirth,Date())/365.25),把y改成d,再就是如果取整的话,还不如直接写成DateDiff("yyyy",datEmpDateOfBirth,Date),这时得出的就是年龄了,我觉得函数这样写:
'***************************************************************************************'
function CalcAge(身份证 as string) as integer
dim a as string
if len(身份证)<18 then exit function
a=mid(身份证,7,4) & "-" & mid(身份证,11,2) & "-" & mid(身份证,13,2)
CalcAge=datediff("yyyy",a,date)
end function
Private Sub Form_Load()
Dim a As String
a = "511123199711271018"
MsgBox CalcAge(a)
End Sub
'***************************************************************************************
你把*号之间的部分直接复制,运行就可以看到结果了
[
本帖最后由 lowxiong 于 2011-4-19 07:07 编辑 ]