Foxtable(狐表)用户栏目专家坐堂 → 工龄计算错误


  共有2715人关注过本帖树形打印复制链接

主题:工龄计算错误

帅哥哟,离线,有人找我吗?
edisontsui
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1551 积分:10061 威望:0 精华:0 注册:2014/12/18 16:12:00
工龄计算错误  发帖心情 Post By:2019/1/11 13:22:00 [显示全部帖子]

If e.DataCol.name ="入职日期"
        If e.DataRow.IsNull("入职日期") Then
            e.DataRow("工龄年") = Nothing
            e.DataRow("工龄月") = Nothing
            e.DataRow("工龄日") = Nothing
        Else
            Dim y,m,d As Integer
            DateYMD(e.DataRow("入职日期"),Date.Today,y,m,d)
            e.DataRow("工龄年") = y
            e.DataRow("工龄月") = m
            e.DataRow("工龄日") = d
        End If
End If

上面的代码,如果我今天输入某人的入职日期为2019年2月13日,那么,其工龄年、月、日分别显示0、1、2。这是错误的。应该是0、-1、-2才对。要怎么修改代码呢?谢谢。

 回到顶部
帅哥哟,离线,有人找我吗?
edisontsui
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1551 积分:10061 威望:0 精华:0 注册:2014/12/18 16:12:00
  发帖心情 Post By:2019/1/11 16:05:00 [显示全部帖子]

If e.DataCol.name ="入职日期"
        If e.DataRow.IsNull("入职日期") Then
            e.DataRow("工龄年") = Nothing
            e.DataRow("工龄月") = Nothing
            e.DataRow("工龄日") = Nothing
        Else
            Dim y,m,d As Integer
            Dim dt1 As Date = e.DataRow("入职日期")
            Dim dt2 As Date = Date.Today
            DateYMD(dt1,dt2,y,m,d)
            If dt1 > dt2 Then
                e.DataRow("工龄年") = -y
                e.DataRow("工龄月") = -m
                e.DataRow("工龄日") = -d
            else
                e.DataRow("工龄年") = y
                e.DataRow("工龄月") = m
                e.DataRow("工龄日") = d
            end if
        End If
End If

我写成上面那样了。也有小。

 回到顶部