以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  判断时间  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=171752)

--  作者:aaa1234
--  发布时间:2021/9/8 14:18:00
--  判断时间
老师您好,我想咨询一下我有一列记录日期列和处理时间列这是我的代码If e.DataCol.Name = "记录日期" Then
    If e.DataRow.IsNull("记录日期") = False
        If e.DataRow("记录日期")>  Date.Today.AddDays("-" & val(Tables("table_3").current("处理时间"))) Then
            e.DataRow("状态")="跟进中"
Else
            e.DataRow("状态")="跟进中(已超时)"
        End If
    End If
End If

--  作者:aaa1234
--  发布时间:2021/9/8 14:20:00
--  
这代码是在DataColChanged里面的 处理时间列是放要多久时间才能处理的,判断依据是记录如果小于处理时间的范围他的状态就会变成跟进中(已超时),但是过了一天,正常的数据都变成已超时,我的代码是不是有点问题
--  作者:有点蓝
--  发布时间:2021/9/8 14:35:00
--  
数据不会自己变的。每次打开项目都重置一下"记录日期"列
--  作者:aaa1234
--  发布时间:2021/9/8 14:38:00
--  
就是说我的代码没有错,每次打开数据他都会更新一下状态列是吧老师,老师我的代码的意思,如果记录日期小于处理时间就跟进中,没错吧
--  作者:有点蓝
--  发布时间:2021/9/8 14:48:00
--  
If e.DataRow("记录日期")>  Date.Today.AddDays(val(Tables("table_3").current("处理时间")) * -1) Then
--  作者:aaa1234
--  发布时间:2021/9/9 9:22:00
--  
If e.DataRow.IsNull("记录日期") = False
        If e.DataRow("记录日期")>  Date.Today.AddDays(val(Tables("table_3").current("处理时间")) * -1) Then
            e.DataRow("状态")="跟进中"
        Else
            e.DataRow("状态")="跟进中(已超时)"
        End If
    End If
老师这个代码是不是不应该放在DataColChanged里面 因为我状态记录的数据全变成了跟进中(已超时)

--  作者:有点蓝
--  发布时间:2021/9/9 9:30:00
--  
应该这个取值有问题。所有行都只和"table_3"一行的"处理时间"数据有关?

Tables("table_3").current("处理时间")

--  作者:aaa1234
--  发布时间:2021/9/9 9:38:00
--  
不是,我是想读取每一行的处理时间是不是这样
Dim dr As Row = Tables("Table_3").Current
If e.DataRow.IsNull("记录日期") = False
        If e.DataRow("记录日期")>  Date.Today.AddDays(val(dr(处理时间)) * -1) Then
            e.DataRow("状态")="跟进中"
        Else
            e.DataRow("状态")="跟进中(已超时)"
        End If
    End If

--  作者:aaa1234
--  发布时间:2021/9/9 9:39:00
--  
还是Dim dr As Row = Tables("Table_3").Current
If e.DataRow.IsNull("记录日期") = False
        If e.DataRow("记录日期")>  Date.Today.AddDays(val(e.DataRow("处理时间")) * -1) Then
            e.DataRow("状态")="跟进中"
        Else
            e.DataRow("状态")="跟进中(已超时)"
        End If
    End If

--  作者:有点蓝
--  发布时间:2021/9/9 10:09:00
--  
If e.DataRow.IsNull("记录日期") = False
        If e.DataRow("记录日期")>  Date.Today.AddDays(val(e.DataRow("处理时间")) * -1) Then
            e.DataRow("状态")="跟进中"
        Else
            e.DataRow("状态")="跟进中(已超时)"
        End If
    End If