Foxtable(狐表)用户栏目专家坐堂 → [求助]程序异常


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

主题:[求助]程序异常

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


加好友 发短信
等级:幼狐 帖子:99 积分:852 威望:0 精华:0 注册:2015/6/19 14:35:00
[求助]程序异常  发帖心情 Post By:2015/7/17 17:09:00 [只看该作者]

If e.DataTable.Name <> "变更记录" Then   '数据变更记录
    Dim dr As DataRow = DataTables("变更记录").AddNew
    
    dr("表名") = e.DataTable.Name
    dr("列名") = e.DataCol.Name
    dr("行号") = e.DataRow("_Identify")
    dr("时间") = Date.Now
    dr("操作") = """" & e.OldValue &  """ 改成了 """ & e.NewValue & """"  
End If
 messagebox.show(1)
If e.DataCol.Name = "零件图号" Then   '订单零件名称,含税单价,供应商简称的来源
    Dim nms() As String = {"零件名称","A点_含税单价_更新后","A点_供应商简称"}
    If e.NewValue Is Nothing Then
        For Each nm As String In nms
            e.DataRow(nm) = Nothing
        Next
messagebox.show(2)
    Else
        Dim dr As DataRow
        dr = DataTables("价格表").Find("[零件图号] = '" & e.NewValue & "'")
        If dr IsNot Nothing
            For Each nm As String In nms
                e.DataRow(nm) = dr(nm)
            Next
        End If
    End If
End If
messagebox.show(3)
If e.DataCol.Name = "供应商简称" Then   '合同采购通则和供应商代码更新
    Dim esb() As String = {"供应商代码","合同编号_采购通则"}
    If e.NewValue Is Nothing Then
        For Each es As String In esb
            e.DataRow(es) = Nothing
        Next
    Else
messagebox.show(4)
        Dim dt As DataRow
        dt = DataTables("供应商信息表").Find("[供应商简称] = '" & e.NewValue & "'")
        If dt IsNot Nothing
            For Each es As String In esb
                e.DataRow(es) = dt(es)
            Next
        End If
    End If
End If
messagebox.show(5)

 

上面程序运行提示如下

.NET Framework 版本:2.0.50727.3655
Foxtable 版本:2014.11.11.1
错误所在事件:全局表事件, DataColChanged
详细错误信息:
调用的目标发生了异常。
Substring()参数超出范围。
参数名: length

 

我加messagebox.show()测试,提示是1,点下就是3,再点就是5,求高手



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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/7/17 17:14:00 [只看该作者]

去看操作的表的DataCochanged事件 去看变更记录表的Datacolchanged事件

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


加好友 发短信
等级:幼狐 帖子:99 积分:852 威望:0 精华:0 注册:2015/6/19 14:35:00
  发帖心情 Post By:2015/7/17 17:28:00 [只看该作者]

1、订单表:If e.DataCol.Name = "取消与否" OrElse e.DataCol.Name = "开piao与否"  Then
   
    Tables("采购订单").Filter = "([开piao与否] = false Or [开piao与否] Is Null) and ([取消与否] = false or [取消与否] is null)"
   
End If

 

2、fa piao表: If e.DataCol.Name = "完成与否" Then
    If e.DataRow("完成与否") = True Then
        Tables("fa piao及资金计划").Filter = "[完成与否] <> true Or [完成与否] Is Null"
    End If
End If

其余表都没有Datacolchanged


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/7/17 17:30:00 [只看该作者]

导出所有代码,然后搜索关键字 Substring

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


加好友 发短信
等级:幼狐 帖子:99 积分:852 威望:0 精华:0 注册:2015/6/19 14:35:00
  发帖心情 Post By:2015/7/17 17:48:00 [只看该作者]

Substring在所有程序中都没有,但是我发现问题了。

我在其中一表设置了附件的显示,把第一列定义为了整数。我删除了就没有了,我想应该设置为 备注 型可以。

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目10.table


 回到顶部