Foxtable(狐表)用户栏目专家坐堂 → name 参数不能为空


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

主题:name 参数不能为空

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


加好友 发短信
等级:七尾狐 帖子:1576 积分:10237 威望:0 精华:0 注册:2014/12/18 16:12:00
name 参数不能为空  发帖心情 Post By:2025/3/26 16:45:00 [只看该作者]

Select Case e.DataCol.Name 
    Case "工序1完成人", "工序2完成人", "工序3完成人", "工序4完成人", "工序5完成人", "工序6完成人", "工序7完成人", "工序8完成人", "工序9完成人"
        e.DataRow.save
        Dim st1 As String = e.DataCol.Name
        Dim st3 As String
        Dim st4 As String
            st3 = st1.substring(0, 3) & "完成日期"
            st4 = st1.substring(0, 3) & "完成年月"
        If e.DataRow.isnull(e.DataCol.Name) Then
            e.DataRow(st3) = Nothing
            e.DataRow(st4) = Nothing
        Else 
            If e.DataRow.isnull(st1) = False Then
                If e.DataRow.isnull(st3) Then
                    e.DataRow(st3) = Date.today
                End If
            Else
                e.DataRow(st3) = Nothing
                e.DataRow(st4) = Nothing
            End If
        End If
        
        e.DataRow.save
End Select

老师,上面代码老是出现 “name 参数不能为空” 的提示,请问是哪里的问题呢?谢谢。

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


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

调试看是哪一句代码有问题

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


加好友 发短信
等级:七尾狐 帖子:1576 积分:10237 威望:0 精华:0 注册:2014/12/18 16:12:00
  发帖心情 Post By:2025/3/27 7:44:00 [只看该作者]

Select Case e.DataCol.Name 
    Case "工序1完成人", "工序2完成人", "工序3完成人", "工序4完成人", "工序5完成人", "工序6完成人", "工序7完成人", "工序8完成人", "工序9完成人"
        e.DataRow.save
        Dim st1 As String = e.DataCol.name
        Dim st3 As String
        Dim st4 As String
        st3 = st1.substring(0, 3) & "完成日期"
        st4 = st1.substring(0, 3) & "完成年月"
        If e.DataRow.isnull(e.DataCol.name) Then
            'msgbox(2)  后面有问题
            e.DataRow(st3) = Nothing
            e.DataRow(st4) = Nothing
            'msgbox(3) 前面有问题
        Else
            If e.DataRow.isnull(st1) = False Then
                If e.DataRow.isnull(st3) Then
                    e.DataRow(st3) = Date.today
                End If
            Else
                e.DataRow(st3) = Nothing
                e.DataRow(st4) = Nothing
            End If
        End If
        
        e.DataRow.save
End Select

当 newvalue 是空值的时候,在上面红色那部分代码会有提示。

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


加好友 发短信
等级:超级版主 帖子:113094 积分:575881 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2025/3/27 9:07:00 [只看该作者]

调试

        If e.DataRow.isnull(e.DataCol.name) Then
            msgbox("st3=" & st3 & ",st4=" & st4)  后面有问题
            e.DataRow(st3) = Nothing
            e.DataRow(st4) = Nothing
            msgbox(3) 前面有问题
        Else

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


加好友 发短信
等级:七尾狐 帖子:1576 积分:10237 威望:0 精华:0 注册:2014/12/18 16:12:00
  发帖心情 Post By:2025/3/27 9:39:00 [只看该作者]

调试结果:st3=工序1完成日期, st4=工序1完成年月
然后出现如下提示:
.NET Framework 版本:4.0.30319.42000
Foxtable 版本:2022.8.18.1
错误所在事件:表,特采单排产,DataColChanged
详细错误信息:
调用的目标发生了异常。
“name”参数不能为空。
参数名: name

msgbox(3) 的 3 不会出现。


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


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

st3=工序1完成日期, st4=工序1完成年月】这两个列名正确吗?这2个列赋值会不会触发其它代码

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


加好友 发短信
等级:七尾狐 帖子:1576 积分:10237 威望:0 精华:0 注册:2014/12/18 16:12:00
  发帖心情 Post By:2025/3/27 11:01:00 [只看该作者]

果然是 工序1完成日期 会触发其他代码造成的。谢谢。

 回到顶部