Foxtable(狐表)用户栏目专家坐堂 → [求助]单元格颜色报错求助


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

主题:[求助]单元格颜色报错求助

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


加好友 发短信
等级:四尾狐 帖子:812 积分:6688 威望:0 精华:0 注册:2014/11/26 12:32:00
[求助]单元格颜色报错求助  发帖心情 Post By:2018/11/15 14:21:00 [显示全部帖子]

大师,如果要通过2列日期差,自动生成单元格样式

 


图片点击可在新窗口打开查看此主题相关图片如下:表.png
图片点击可在新窗口打开查看

 

新增行时,创建日期自动录入今天的日期,日期列为空,报错如下图:

 

DrawCell  代码如下:

 

If e.Col.Name = "日期" Then

    If e.Row.IsNull("日期") = False Then

        If e.Row("日期") <= e.Row("创建日期").AddDays(-8) Then

            e.Style = "样式7"

        End If

        If e.Row("创建日期").AddDays(-7)  < e.Row("日期") And  e.Row("日期") < e.Row("创建日期").AddDays(-5) Then

            e.Style = "样式6"

        End If

        If e.Row("创建日期") <= e.Row("日期").AddDays(-4) Then
            e.Style = "提前5"
        End If

        If e.Row("日期").AddDays(-3)  < e.Row("创建日期") And  e.Row("创建日期") < e.Row("日期").AddDays(-1) Then

            e.Style = "提前2"

        End If

        If e.Row("日期").AddDays(-2)  < e.Row("创建日期") And  e.Row("创建日期") < e.Row("日期").AddDays(0) Then

            e.Style = "提前1"

        End If

End If

 


 


图片点击可在新窗口打开查看此主题相关图片如下:报错.png
图片点击可在新窗口打开查看


 


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


加好友 发短信
等级:四尾狐 帖子:812 积分:6688 威望:0 精华:0 注册:2014/11/26 12:32:00
回复:(有点甜)If e.Row.IsNull("日期") = False Th...  发帖心情 Post By:2018/11/15 14:31:00 [显示全部帖子]

甜甜,辛苦再看看了

新增行时,创建日期自动录入今天的日期,还是报错 

 

加密狗不能升级了,高于2018-07-09版本打不开,不会意思哈

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:2.foxdb

[此贴子已经被作者于2018/11/15 15:10:42编辑过]

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


加好友 发短信
等级:四尾狐 帖子:812 积分:6688 威望:0 精华:0 注册:2014/11/26 12:32:00
回复:(有点甜)If e.Col.Name = "日期" Then &...  发帖心情 Post By:2018/12/21 11:08:00 [显示全部帖子]

 上面代码报错
未找到类型 string 的公共成员  adddays

换一种思路,实现。下面代码怎么修改呢?

Dim r As Row = Tables("工作日志").Current
If r IsNot Nothing Then
    If e.Col.Name = "日期" Then
        If e.Row.IsNull("日期") = False AndAlso e.Row.isnull("创建日期") = False Then
            Dim dt As Date = r("创建日期")
            Dim dtf As Date = r("日期")
            Dim n As Integer = (dtf - dt).TotalDays
            If n = -3  Then '如果已经过期
                e.Style = "样式2"
            ElseIf n = -2  Then '如果已经过期
                e.Style = "样式1"
            ElseIf n = -1  Then '如果已经过期
                e.Style = "提前1"
            ElseIf n = 0 Then '如果已经过期
                e.Style =  "提前2"
            ElseIf n = 1 Then '如果已经过期
                e.Style = "提前3"
            ElseIf n = 2 Then '如果已经过期
                e.Style = "提前4"
            ElseIf n = 3 Then '如果已经过期
                e.Style = "提前5"
            End If
        End If
    End If
End If

 回到顶部