Foxtable(狐表)用户栏目专家坐堂 → 退休日期的判断


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

主题:退休日期的判断

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


加好友 发短信
等级:七尾狐 帖子:1510 积分:9791 威望:0 精华:0 注册:2014/12/18 16:12:00
退休日期的判断  发帖心情 Post By:2018/5/26 13:52:00 [只看该作者]

数据表里面有“出生日期”和“性别”两列,如果性别的值是"女",那么,根据出生日期,在到达50岁的退休年龄之前提前30天进行警告,将出生日期变为红色。这个代码改如何写呢?谢谢。

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


加好友 发短信
等级:超级版主 帖子:107323 积分:545876 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/5/26 14:26:00 [只看该作者]


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


加好友 发短信
等级:七尾狐 帖子:1510 积分:9791 威望:0 精华:0 注册:2014/12/18 16:12:00
  发帖心情 Post By:2018/5/28 16:05:00 [只看该作者]

If e.Col.Name = "出生日期" Then
    If e.Row.IsNull("出生日期") = False And e.Row("性别") = "女"
        If e.Row("出生日期").adddays(18262) < Date.Today.AddDays(30) And e.Row("出生日期").adddays(18262) > Date.Today.AddDays(1) Then
            e.Style = "到期" 
        End If
    End If
End If

我这样写代码行吗?18262表示50周年的总天数。30表示提前30天对到退休年龄的出生日期变成红色。

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/5/28 16:30:00 [只看该作者]

If e.Col.Name = "出生日期" Then
    If e.Row.IsNull("出生日期") = False And e.Row("性别") = "女"
        Dim d As Date = e.Row("出生日期")
        Dim d1 As Date = Date.Today.AddDays(30)
        Dim y As Integer = d.year
        Dim nl As Integer
        If format(d, "MMdd") <= Format(d1, "MMdd") Then
            nl = d1.year - y
        Else
            nl = d1.Year - y -1
        End If
        If nl >= 50 Then
            e.Style = "到期"
        End If
    End If
End If

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


加好友 发短信
等级:七尾狐 帖子:1510 积分:9791 威望:0 精华:0 注册:2014/12/18 16:12:00
  发帖心情 Post By:2018/6/5 17:10:00 [只看该作者]

你写的上述代码,如果要再加多一层判断,即对退休日期提前1095天(=3年)进行判断,并用e.Style = "将要退休"来设定颜色。那么代码该如何写?谢谢。

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/6/5 17:31:00 [只看该作者]

If e.Col.Name = "出生日期" Then
    If e.Row.IsNull("出生日期") = False And e.Row("性别") = "女"
        Dim d As Date = e.Row("出生日期")
        Dim d1 As Date = Date.Today.AddDays(30)
        Dim y As Integer = d.year
        Dim nl As Integer
        If format(d, "MMdd") <= Format(d1, "MMdd") Then
            nl = d1.year - y
        Else
            nl = d1.Year - y -1
        End If
        If nl >= 50 Then
            e.Style = "到期"
        ElseIf nl >= 48 Then
            e.Style = "将要退休"

        End If
    End If
End If


 回到顶部