以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 关于年龄工龄计算的问题 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=82612) |
-- 作者:蓝色海洋2 -- 发布时间:2016/3/21 17:33:00 -- 关于年龄工龄计算的问题 老师好!我按帮助在datacolchanged设置了年龄、工龄自动计算,发布后用户使用都能正常计算。今天有用户反映插入记录行后,出现此行年龄计算出现负数,其他行可以自动计算,工龄整列不能自动计算了,我用开发者账户登录,发现问题依旧,请问老师问题可能出自哪里? |
-- 作者:大红袍 -- 发布时间:2016/3/21 21:29:00 -- 贴出你计算年龄的代码。 |
-- 作者:蓝色海洋2 -- 发布时间:2016/3/22 8:31:00 -- Select Case e.DataCol.name Select Case e.DataCol.name |
-- 作者:Hyphen -- 发布时间:2016/3/22 9:02:00 -- If e.DataRow.Isnull("统计日期") = False Then Select Case e.DataCol.name Case "工作时间" If e.DataRow.IsNull("工龄") Then e.DataRow("工龄") = Nothing Else e.DataRow("工龄") = e.DataRow("统计日期").Year - e.DataRow("工作时间").Year End If Case "出生日期" If e.DataRow.IsNull("出生日期") Then e.DataRow("年龄") = Nothing Else e.DataRow("年龄") = e.DataRow("统计日期").Year - e.DataRow("出生日期").Year End If End Select End If
|
-- 作者:大红袍 -- 发布时间:2016/3/22 9:10:00 -- Select Case e.DataCol.name Case "工作时间" If e.DataRow.IsNull("工作时间") OrElse e.DataRow.IsNull("统计日期") Then e.DataRow("工龄") = Nothing Else e.DataRow("工龄") = e.DataRow("统计日期").Year - e.DataRow("工作时间").Year End If Case "出生日期" If e.DataRow.IsNull("出生日期") OrElse e.DataRow.IsNull("统计日期") Then e.DataRow("年龄") = Nothing Else e.DataRow("年龄") = e.DataRow("统计日期").Year - e.DataRow("出生日期").Year End If End Select |
-- 作者:蓝色海洋2 -- 发布时间:2016/3/22 9:28:00 -- 谢谢老师!我的问题解决了,出现年龄为负数是因为新增行的统计日期没有数据。 |
-- 作者:shddrh -- 发布时间:2018/2/2 11:34:00 -- 请教连续计算工龄的表达式! |
-- 作者:有点甜 -- 发布时间:2018/2/2 11:35:00 -- 以下是引用shddrh在2018/2/2 11:34:00的发言:
请教连续计算工龄的表达式!
具体一点你的问题,做一个foxtable例子发上来测试。 |