![](https://iknow-base.cdn.bcebos.com/lxb/notice.png)
在access中如何根据出生日期计算出年龄
展开全部
一个人的出生日期,你如何计算自己的年龄?
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
&
"个月"
运行查询就会知道某个出生年月日的人是几岁零几个月了
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
&
"个月"
运行查询就会知道某个出生年月日的人是几岁零几个月了
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询