Function
Age(varDOB
As
Variant,
Optional
varAsOf
As
Variant)
As
Variant
'Purpose:
返回年龄
'参数:
varDOB
=
出生日期
'
varAsOf
=
计算年龄的日期,默认是今天
Dim
dtDOB
As
Date
Dim
dtAsOf
As
Date
Dim
dtBDay
As
Date
Age
=
Null
If
IsDate(varDOB)
Then
dtDOB
=
varDOB
If
Not
IsDate(varAsOf)
Then
dtAsOf
=
Date
Else
dtAsOf
=
varAsOf
End
If
If
dtAsOf
>=
dtDOB
Then
dtBDay
=
DateSerial(Year(dtAsOf),
Month(dtDOB),
Day(dtDOB))
Age
=
DateDiff("yyyy",
dtDOB,
dtAsOf)
+
(dtBDay
>
dtAsOf)
End
If
End
If
End
Function
一个人的出生日期,你如何计算自己的年龄
Function
Age(varDOB
As
Variant,
Optional
varAsOf
As
Variant)
As
Variant
'Purpose:
返回年龄
'参数:
varDOB
=
出生日期
'
varAsOf
=
计算年龄的日期,默认是今天
Dim
dtDOB
As
Date
Dim
dtAsOf
As
Date
Dim
dtBDay
As
Date
Age
=
Null
If
IsDate(varDOB)
Then
dtDOB
=
varDOB
If
Not
IsDate(varAsOf)
Then
dtAsOf
=
Date
Else
dtAsOf
=
varAsOf
End
If
If
dtAsOf
>=
dtDOB
Then
dtBDay
=
DateSerial(Year(dtAsOf),
Month(dtDOB),
Day(dtDOB))
Age
=
DateDiff("yyyy",
dtDOB,
dtAsOf)
+
(dtBDay
>
dtAsOf)
End
If
End
If
End
Function
在查询中使用上面的函数
例如
年龄:Age(出生日期)
第二种:
以前曾经说过用access计算年龄的问题,那种方法计算的年龄是整数年龄,如果需要计算到多少岁零几个月,则需要另一种代码。假设access表中有“出生年月”字段,那么,先建一个查询,加入出生年月字段,再在空白字段处写如下代码--
Int(DateDiff("m",[出生年月],Date())/12)
&
"岁另"
&
DateDiff("m",[出生年月],Date())
Mod
12
&
"个月"
运行查询就会知道某个出生年月日的人是几岁零几个月了
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)