以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  任务进度预警功能怎么实现?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=177508)

--  作者:xiaofei_00
--  发布时间:2022/5/25 13:13:00
--  任务进度预警功能怎么实现?
我有一个“项目登记表”,其中有“登记时间”数据类型时间日期、“完成时间”数据类型时间日期、“完结”数据类型逻辑型,我现在想实现的功能时当一条记录登记好以后,系统开始计时,当进度进行一半的时候这条记录变为蓝色,当时间进行2/3的时候记录变为黄色,当时间到期时记录变为橙色,当超期时记录变为红色。当“完结”列打钩后预警解除,变回原来的颜色。用来判断是否超期就是“完结”列是否打钩
感觉很简单,但是我就是没有思路,老大该怎么写代码呢?求指导

[此贴子已经被作者于2022/5/25 13:16:09编辑过]

--  作者:有点蓝
--  发布时间:2022/5/25 13:44:00
--  
参考:http://www.foxtable.com/webhelp/topics/2471.htm
--  作者:xiaofei_00
--  发布时间:2022/5/25 16:12:00
--  
If e.Col.Name = "wcsj" Then
    If e.Row.IsNull("wcsj") = False 
        If e.Row("wcsj") < Date.Today.AddDays(5) Then
            e.Style = "橙色"
        End If
    End If
End If

If e.Col.Name = "wcsj" Then
  If e.Row.IsNull("sfsjwj") = True OrElse e.Row.IsNull("chqx")= True 
    If e.Row.IsNull("wcsj") = False
        If e.Row("wcsj") < Date.Today.AddDays(5) Then
            e.Style = "橙色"
        End If
    End If
  End If
End If

老大帮我看看第一段代码显示没有问题,为什么第二段我增加了一个判断语句就不行了呢?我增加的内容是判断这两个逻辑列是空的(没打钩)的情况下执行下边的代码



--  作者:有点蓝
--  发布时间:2022/5/25 16:26:00
--  
If e.Col.Name = "wcsj" Then
  If e.Row("sfsjwj") = false OrElse e.Row("chqx")= false 
    If e.Row.IsNull("wcsj") = False
        If e.Row("wcsj") < Date.Today.AddDays(5) Then
            e.Style = "橙色"
        End If
    End If
  End If
End If

--  作者:xiaofei_00
--  发布时间:2022/5/26 11:19:00
--  
If e.Col.Name = "wcsj" Then
  If e.Row("sfsjwj") =False  AndAlso e.Row("chqx")= False
    If e.Row.IsNull("wcsj") = False
        If e.Row("wcsj") <= Date.Today.AddDays(10) AndAlso e.Row("wcsj") > Date.Today.AddDays(5) Then
            e.Style = "浅蓝色"
        ElseIf e.Row("wcsj") <= Date.Today.AddDays(5) AndAlso e.Row("wcsj") > Date.Today.AddDays(3) Then
            e.Style = "黄色"
        ElseIf e.Row("wcsj") <= Date.Today.AddDays(3) AndAlso e.Row("wcsj") >= Date.Today.AddDays(0) Then
              e.Style = "橙色"
        ElseIf e.Row("wcsj") <= Date.Today   Then
              e.Style = "红色"
        End If
    End If
  End If
End If

功能我实现了,完美运行,现在我遇到一个问题,就是对这个表“wcsj”筛选时,怎么样能把红色的行筛选出来了?不用程序筛选,用系统菜单或右键功能筛选?能办到吗?
--  作者:有点蓝
--  发布时间:2022/5/26 11:55:00
--  
只能使用代码处理
--  作者:xiaofei_00
--  发布时间:2022/5/27 9:01:00
--  

[此贴子已经被作者于2022/5/27 9:26:19编辑过]