Foxtable(狐表)用户栏目专家坐堂 → 老师你好,我想问一下这代码


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

主题:老师你好,我想问一下这代码

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


加好友 发短信
等级:幼狐 帖子:108 积分:671 威望:0 精华:0 注册:2021/9/24 17:07:00
  发帖心情 Post By:2021/9/24 17:37:00 [只看该作者]

没有把,这一列也没有什么非法字符

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


加好友 发短信
等级:幼狐 帖子:108 积分:671 威望:0 精华:0 注册:2021/9/24 17:07:00
  发帖心情 Post By:2021/9/24 17:39:00 [只看该作者]

老师怎么判断有异常值跳过

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


加好友 发短信
等级:超级版主 帖子:106081 积分:539504 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/9/24 17:39:00 [只看该作者]

自己加调试代码,看是重置到哪一行数据有问题:http://www.foxtable.com/webhelp/scr/1485.htm

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


加好友 发短信
等级:幼狐 帖子:108 积分:671 威望:0 精华:0 注册:2021/9/24 17:07:00
  发帖心情 Post By:2021/9/24 17:39:00 [只看该作者]

If e.DataCol.Name = "记录日期" Then
    
    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
End If

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


加好友 发短信
等级:超级版主 帖子:106081 积分:539504 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/9/24 17:45:00 [只看该作者]

If e.DataCol.Name = "记录日期" Then
    dim v as integer = val(e.DataRow("处理时间"))
    If e.DataRow.IsNull("记录日期") = False andalso v > 1000 '不能大于1000天,自己改为合适的值
        If e.DataRow("记录日期")>  Date.Today.AddDays( * -1) Then
            e.DataRow("状态")="跟进中"
        Else
            e.DataRow("状态")="跟进中(已超时)"
        End If
    End If
End If

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


加好友 发短信
等级:幼狐 帖子:108 积分:671 威望:0 精华:0 注册:2021/9/24 17:07:00
  发帖心情 Post By:2021/9/24 17:51:00 [只看该作者]

.NET Framework 版本:4.0.30319.42000
Foxtable 版本:2021.8.20.1
错误所在事件:表,Table_3, DataColChanged
详细错误信息:
调用的目标发生了异常。
代码改了变成这样
[此贴子已经被作者于2021/9/24 18:03:05编辑过]

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


加好友 发短信
等级:幼狐 帖子:108 积分:671 威望:0 精华:0 注册:2021/9/24 17:07:00
  发帖心情 Post By:2021/9/24 17:54:00 [只看该作者]

老师可以请教一下,怎么可以看到哪一条数据出现问题,我想调试一下

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


加好友 发短信
等级:幼狐 帖子:108 积分:671 威望:0 精华:0 注册:2021/9/24 17:07:00
  发帖心情 Post By:2021/9/24 18:13:00 [只看该作者]

If e.DataCol.Name = "记录日期" Then
    Dim v As Integer = val(e.DataRow("处理时间"))
    If e.DataRow.IsNull("记录日期") = False AndAlso v > 30 '不能大于1000天,自己改为合适的值
        If e.DataRow("记录日期")>  Date.Today.AddDays(clng(Tables("table_3").current("处理时间"))* -1) Then
            e.DataRow("状态")="跟进中"
        Else
            e.DataRow("状态")="跟进中(已超时)"
        End If
    End If
End If 我改了很多个结果都是算法溢出 var clng等

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


加好友 发短信
等级:超级版主 帖子:106081 积分:539504 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/9/25 8:43:00 [只看该作者]

调试技巧:http://www.foxtable.com/webhelp/scr/1485.htm

If e.DataCol.Name = "记录日期" Then
msgbox(1)
    Dim v As long = val(e.DataRow("处理时间"))
msgbox(v)
    If e.DataRow.IsNull("记录日期") = False AndAlso v > 30 '不能大于1000天,自己改为合适的值
msgbox(e.DataRow("记录日期"))
        If e.DataRow("记录日期")>  Date.Today.AddDays(v * -1) Then
            e.DataRow("状态")="跟进中"
        Else
            e.DataRow("状态")="跟进中(已超时)"
        End If
    End If
End If

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


加好友 发短信
等级:幼狐 帖子:108 积分:671 威望:0 精华:0 注册:2021/9/24 17:07:00
  发帖心情 Post By:2021/9/25 9:26:00 [只看该作者]

还是算法溢出,If e.DataCol.Name = "记录日期" Then
msgbox(1)
    Dim v As long = val(e.DataRow("处理时间"))
msgbox(v)
    If e.DataRow.IsNull("记录日期") = False AndAlso v > 30 '不能大于1000天,自己改为合适的值
msgbox(e.DataRow("记录日期"))
        If e.DataRow("记录日期")>  Date.Today.AddDays(v * -1) Then
            e.DataRow("状态")="跟进中"
        Else
            e.DataRow("状态")="跟进中(已超时)"
        End If
    End If
End If
这个调试并没有弹出来,应该没有报错把,就溢出问题有点难搞

 回到顶部
总数 21 上一页 1 2 3 下一页