Office中国论坛/Access中国论坛

标题: 怎么根据"出生日期",自动更新"年龄" [打印本页]

作者: 21009    时间: 2006-9-23 20:52
标题: 怎么根据"出生日期",自动更新"年龄"
员工表里有"出生日期"和"年龄"这两列,能不能根据"出生日期"和当前系统的时间,自动更新"年龄"???
作者: 一点通    时间: 2006-9-23 22:14
前天有一个网友发了一个例子,自己查找一下
作者: 蓝天8390    时间: 2006-9-23 22:29
标题: 年龄计算示例
[attach]20523[/attach]

作者: 21009    时间: 2006-9-24 08:44
很好,不过有没在表里的,我不用窗体,我只在表里修改
作者: 蓝天8390    时间: 2006-9-25 05:55
只能在窗体或查询或报表
作者: 21009    时间: 2006-9-25 08:11
谢谢!
作者: mike123456    时间: 2006-11-1 04:23
小弟现在也急需哦
作者: lxtea    时间: 2008-1-1 00:05
这个到底该如何在表中实现呢?
作者: hualonglan    时间: 2008-11-25 06:33
学习学习
作者: tzh1600    时间: 2008-11-25 11:41
表是储存数据的地方,有了出生日期,就有了年龄,怎么还需要在表里记录年龄呢
作者: 明镜    时间: 2008-11-26 21:28
没钱了
作者: cnffmso    时间: 2009-1-10 17:03
我要学习,顶起来
作者: lsxhoho    时间: 2009-1-10 17:17
如果一个表里有出生年月和年龄的话, 可以建个窗体, 加个更新的按钮, 然后让这个按钮运行一个更新的SQL语句。 我建议像年龄这种数据最好不要放在表里, 因为它可以是一个运算结果。
作者: lingjiang    时间: 2009-1-10 22:37
[:26] [:26] [:26]
作者: arrowscupid    时间: 2009-1-16 20:41
谢谢分享
作者: towerman    时间: 2009-1-19 08:46
学习一下这两个示例
根据出生年月计算年龄大小:
http://www.accessoft.com/article-show.asp?id=2060

通过身份证号码提取出生日期、性别、年龄:
http://www.accessoft.com/article-show.asp?id=2656
作者: xulv    时间: 2009-2-7 16:35
哈哈哈学习
作者: lhsh    时间: 2009-2-8 11:31
进步进步
作者: michaeljhb    时间: 2009-3-6 08:30
使用查询即可解决
作者: xiongyidhz    时间: 2009-3-6 09:05
学习学习
作者: 傲骨一根    时间: 2009-3-7 21:01
向版主致敬,可以举一返三,凡是计算的字段等可以在查询中进行操作。
作者: sbadwaps    时间: 2009-3-21 21:59
Option Compare Database
Function nianling(mynianling As Date) As String

'本函数用于计算准确年龄
Dim i%
Dim sui% '岁
Dim yue% '月
Dim ri% '日       '出处:ACCESS开发者。一切佳有可能,liting
For i = 1 To 150 '进行150次的计算估计能活到150岁以上的是不可想像的
If DateAdd("yyyy", sui + 1, mynianling) <= Date Then
sui = sui + 1
End If
Next i

For i = 1 To 13 '月份只要12次计算就足够了,这里用了13次
If DateAdd("m", sui * 12 + yue + 1, mynianling) <= Date Then
yue = yue + 1
End If
Next i
ri = Date - DateAdd("m", sui * 12 + yue, mynianling)    'Me.日龄当然就容易算了
nianling = sui & "岁" & yue & "个月" & ri & "日"
End Function

在查询里引用本函数就可以进行计算了
比如:
SELECT 报表输出.编号, nianling(出生日期) AS 年龄
FROM 报表输出;
作者: sbadwaps    时间: 2009-3-21 22:07
Option Compare Database
Function nianling(mynianling As Date) As String

'本函数用于计算准确年龄
Dim i%
Dim sui% '岁
Dim yue% '月
Dim ri% '日       '出处:ACCESS开发者。一切佳有可能,liting
For i = 1 To 150 '进行150次的计算估计能活到150岁以上的是不可想像的
If DateAdd("yyyy", sui + 1, mynianling) <= Date Then
sui = sui + 1
End If
Next i

For i = 1 To 13 '月份只要12次计算就足够了,这里用了13次
If DateAdd("m", sui * 12 + yue + 1, mynianling) <= Date Then
yue = yue + 1
End If
Next i
ri = Date - DateAdd("m", sui * 12 + yue, mynianling)    'Me.日龄当然就容易算了
nianling = sui & "岁" & yue & "个月" & ri & "日"
End Function

在查询里引用本函数就可以进行计算了
比如:
SELECT 报表输出.编号, nianling(出生日期) AS 年龄
FROM 报表输出;
作者: wangru    时间: 2009-7-6 04:23
为什么没有必要在表中实现?如果不在表中,年龄统计怎么办?比如年龄在30~40的统计怎么做?
作者: t1t2t3t4t5    时间: 2009-8-16 09:26
可是查询的时候先让我输入年龄怎么回事。。
作者: 13555609005    时间: 2009-9-27 22:47
谢谢!
作者: YXH_YXH    时间: 2015-10-16 09:58
多谢分享!!!!!!!!!!




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