以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]年龄如何自动更新 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=21341) |
|
-- 作者:童年 -- 发布时间:2012/7/9 18:21:00 -- [求助]年龄如何自动更新 现在设置了个年龄字段,是根据出生日期计算的。现在出现的问题是,只有录入日期时才能计算年龄,即使过了一年,年龄还是不改变。请问如何实现打开项目,或是添加一个窗口来实现刷新年龄字段?谢谢! |
|
-- 作者:童年 -- 发布时间:2012/7/9 18:51:00 -- 我试了还是不行啊 If e.DataCol.Name = "身份证号" Then \'是身份证号发生变化吗?
If e.DataRow.IsNull("身份证号") Then \'身份证号是否为空 e.DataRow("出生日期") = Nothing \'如果为空,则清除出生日期 e.DataRow("性别") = Nothing \'如果为空,则清除性别 Else \'否则从身份证号码列中提取出生日期 e.DataRow("出生日期") = ReadBirthday(e.DataRow("身份证号")) e.DataRow("性别") = ReadSex(e.DataRow("身份证号")) End If End If If e.DataCol.Name = "出生日期" Then If e.DataRow.IsNull("出生日期") Then \'如果没有输入出生日期 e.DataRow("年龄") = Nothing \'则清空年龄 Else \'否则计算年龄 e.DataRow("年龄") = Date.Today.Year - e.DataRow("出生日期").Year End If End If 年龄是这样计算得到的 [此贴子已经被作者于2012-7-9 18:51:46编辑过]
|
|
-- 作者:pyh6918 -- 发布时间:2012/7/9 20:39:00 -- 用遍历的方法不行吗?年龄全都+1 |
|
-- 作者:sloyy -- 发布时间:2012/7/9 23:32:00 -- 这就是数据库设计不严谨造成的,你这个年龄完全可以根据身份证计算得出,放在数据库里面就是多余的数据 |
|
-- 作者:狐狸爸爸 -- 发布时间:2012/7/10 8:01:00 -- 肯定可以的,如果搞不定,做个例子放上来,我们帮你搞定。 在此之前,建议看看: http://www.foxtable.com/help/topics/1587.htm |
|
-- 作者:童年 -- 发布时间:2012/7/11 20:23:00 -- 以下是引用sloyy在2012-7-9 23:32:00的发言:
这就是数据库设计不严谨造成的,你这个年龄完全可以根据身份证计算得出,放在数据库里面就是多余的数据 现实社会让我们每一个有很多生日的,比如父母生他们的公历生日、农历生日,户口簿上公安人员填报的生日,学校老师填报的生日,工作后单位或个人代填的生日,所以现在政府弄三定表,最终确定一个生日,而早期工作的人的生日并不是身份证的生日,而是档案中最早工作证明表中的生日。我回家试试大家的方法,不行就上传让大家解决。仍然要谢谢你。 |
|
-- 作者:客人 -- 发布时间:2012/7/14 19:28:00 -- 这次搞清楚了,重置的不是年龄列,而是出生日期列。
|
|
-- 作者:qihehuang -- 发布时间:2015/1/28 15:20:00 -- 麻烦老师给我这个初学者指导一下,谢谢,根据出生日期,得到当前年龄。 |
|
-- 作者:有点甜 -- 发布时间:2015/1/28 15:27:00 -- 以下是引用qihehuang在2015-1-28 15:20:00的发言:
麻烦老师给我这个初学者指导一下,谢谢,根据出生日期,得到当前年龄。
http://www.foxtable.com/help/topics/2647.htm
|