以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- [求助]计算工龄——两个时间相减 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=23234) |
||||
-- 作者:leizhizhilun -- 发布时间:2012/9/6 12:33:00 -- [求助]计算工龄——两个时间相减 表格里要计算员工的工龄,需要得到的结果是几年几月几日,timespan里面没有年和月,我只会做到计算总天数,但是除365余数除30的这种方法肯定是不准确的,有没有更好的准确的方法? Dim t As TimeSpan |
||||
-- 作者:blackzhu -- 发布时间:2012/9/6 12:44:00 -- DateDiff(interval,date1,date2) 返回两个日期之间的间隔。 Interval 包含以下设置: yyyy 年 q 季度 m 月 y 某年的某一天 d 天 w 工作日 ww 周 h 时 n 分 s 秒 |
||||
-- 作者:狐狸爸爸 -- 发布时间:2012/9/6 12:46:00 -- Dim i As integer = Date.Today.Year - CDate(CurrentTable.Current("进组时间")).Year OutPut.Show("工龄:" & i ) [此贴子已经被作者于2012-9-6 12:47:09编辑过]
|
||||
-- 作者:leizhizhilun -- 发布时间:2012/9/6 12:59:00 -- 代码怎么写? |
||||
-- 作者:leizhizhilun -- 发布时间:2012/9/6 13:00:00 -- 刚看到狐爸的回复,我试试 |
||||
-- 作者:狐狸爸爸 -- 发布时间:2012/9/6 13:16:00 -- 标准算法:
Select Case e.DataCol.name
提示: 平均一年365.2422天 |
||||
-- 作者:leizhizhilun -- 发布时间:2012/9/6 15:29:00 -- Dim y As Integer = Date.Today.Year - CDate(CurrentTable.Current("进组时间")).Year
谢谢狐爸,解决了!! |
||||
-- 作者:leizhizhilun -- 发布时间:2012/9/6 15:55:00 -- Select Case e.DataCol.name End Select
我在表属性中的DataColChanged事件中加入如上代码,工龄没有自动计算,求解!!
此主题相关图片如下:111.png |
||||
-- 作者:lin_hailun -- 发布时间:2012/9/6 16:16:00 -- 楼主,重置工龄列,触发DataColChanged事件。 [此贴子已经被作者于2012-9-6 16:17:49编辑过]
|
||||
-- 作者:leizhizhilun -- 发布时间:2012/9/6 16:58:00 -- 必须重置才能触发吗?那多不方便啊,万一要修改还得重置,能不能只要"进组日期"列修改"工龄"列就自动触发修改呢? |