Foxtable(狐表)用户栏目专家坐堂 → [求助]索引超出范围


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

主题:[求助]索引超出范围

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


加好友 发短信
等级:幼狐 帖子:152 积分:1182 威望:0 精华:0 注册:2013/10/23 10:34:00
[求助]索引超出范围  发帖心情 Post By:2014/3/10 16:10:00 [只看该作者]

Dim ydbm As WinForm.TextBox = Forms("移动信息").Controls("移动编码")
Dim ddbm As WinForm.TextBox = Forms("移动信息").Controls("订单编码")
Dim adddr As DataRow =DataTables("移动主表").AddNew
Dim bz As WinForm.TextBox = Forms("移动信息").Controls("备注")
Dim kclx As WinForm.ComboBox = Forms("移动信息").Controls("库存类型")
Dim gc As WinForm.ComboBox = Forms("移动信息").Controls("工厂")
Dim kcd As WinForm.ComboBox = Forms("移动信息").Controls("库存地")
Dim pjh As WinForm.TextBox = Forms("移动信息").Controls("piao据号")
Dim pjlx As WinForm.TextBox = Forms("移动信息").Controls("piao据类型")
Dim ydlx As WinForm.ComboBox = Forms("移动信息").Controls("移动类型")
Dim dr As DataRow
adddr("piao据号")=pjh.text
adddr("piao据类型")=pjlx.text
adddr("移动类型")=ydlx.text
adddr("备注")=bz.text
Dim dd As New List(Of String)
dd.add("生产订单")
dd.add("采购订单")
dd.add("委外订单")
dd.add("销售订单")
Dim str As String
Dim st As String
Select Case ydbm.text
    Case "160"
        str="销售订单"
        st="订单产品表"
    Case "161"
        str="销售订单"
        st="订单产品表"
    Case "162"
        str="采购订单"
        st="采购订单子表"
    Case "163"
        str="采购订单"
        st="采购订单子表"
    Case "164"
        str="委外订单"
        st="委外订单子表"
    Case "165"
        str="委外订单"
        st="委外订单子表"
    Case "166"
        str="委外订单"
        st="委外订单主表"
    Case "167"
        str="委外订单"
        st="委外订单主表"
    Case "168"
        str="生产订单"
        st="生产订单子表"
    Case "169"
        str="生产订单"
        st="生产订单子表"
    Case "170"
        str="生产订单"
        st="生产订单主表"
    Case "171"
        str="生产订单"
        st="生产订单主表"
End Select
dd.Remove(str)
If dd.Contains("销售订单")=False Then
    Tables("移动主表.移动子表").Cols.Remove("采购订单","委外订单","生产订单")
End If
If dd.Contains("采购订单")=False Then
    Tables("移动主表.移动子表").Cols.Remove("销售订单","委外订单","生产订单")
End If
If dd.Contains("委外订单")=False Then
    Tables("移动主表.移动子表").Cols.Remove("采购订单","销售订单","生产订单")
End If
If dd.Contains("生产订单")=False Then
    Tables("移动主表.移动子表").Cols.Remove("采购订单","委外订单","销售订单")
End If
Dim bs As DataRow = DataTables("移动类型").Find("移动编码='" & ydbm.Text & "'")
For Each dr  In DataTables(st).Select(str & "号='" & ddbm.Text & "'")
    Dim r As Row = Tables("移动主表.移动子表").AddNew
    r("物料编码")=dr("物料编码")
    r("库存状态")= kclx.Text
    r("移动数量")=dr("订单数量")-dr("入库数量")
    r("单价")=dr("单价")
    r("币种")="RMB"
    r(str)=ddbm.text
    r("工厂")=gc.Text
    r("库存地")=kcd.Text
   r("标识")=bs("移动标识")
Next

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


加好友 发短信
等级:幼狐 帖子:152 积分:1182 威望:0 精华:0 注册:2013/10/23 10:34:00
  发帖心情 Post By:2014/3/10 16:11:00 [只看该作者]

以上代码说索引超出范围是什么意思?

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/3/10 16:14:00 [只看该作者]

建议您用这个方法:
http://www.foxtable.com/help/topics/1485.htm

先找出是哪一行出错,然后分析原因,搞不定,贴出代码,并告诉我们运行到哪一行出错,以及错误提示。

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


加好友 发短信
等级:幼狐 帖子:152 积分:1182 威望:0 精华:0 注册:2013/10/23 10:34:00
  发帖心情 Post By:2014/3/10 16:16:00 [只看该作者]

.NET Framework 版本:2.0.50727.3655
Foxtable 版本:2014.3.7.1
错误所在事件:窗口,过帐界面,AfterLoad
详细错误信息:
索引超出范围。必须为非负值并小于集合大小。
参数名: index
这是错误信息

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/3/10 16:17:00 [只看该作者]

找出错误位置先.

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


加好友 发短信
等级:幼狐 帖子:152 积分:1182 威望:0 精华:0 注册:2013/10/23 10:34:00
  发帖心情 Post By:2014/3/10 16:29:00 [只看该作者]

If dd.Contains("销售订单")=False Then
    Tables("移动主表.移动子表").Cols.Remove("采购订单","委外订单","生产订单")
End If
If dd.Contains("采购订单")=False Then
    Tables("移动主表.移动子表").Cols.Remove("销售订单","委外订单","生产订单")
End If
If dd.Contains("委外订单")=False Then
    Tables("移动主表.移动子表").Cols.Remove("采购订单","销售订单","生产订单")
End If
If dd.Contains("生产订单")=False Then
    Tables("移动主表.移动子表").Cols.Remove("采购订单","委外订单","销售订单")
End If

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


加好友 发短信
等级:幼狐 帖子:152 积分:1182 威望:0 精华:0 注册:2013/10/23 10:34:00
  发帖心情 Post By:2014/3/10 16:30:00 [只看该作者]

这里出问题了

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/3/10 16:35:00 [只看该作者]

这个不应该会出错啊,上个例子我分析分析看看.

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/3/10 16:35:00 [只看该作者]

你再精确定位一下 看看到底是哪一句出错

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


加好友 发短信
等级:幼狐 帖子:152 积分:1182 威望:0 精华:0 注册:2013/10/23 10:34:00
  发帖心情 Post By:2014/3/10 16:41:00 [只看该作者]

If dd.Contains("销售订单")=False Then
    Tables("移动主表.移动子表").Cols.Remove("采购订单","委外订单","生产订单")

End If

运行这句代码时出错了


 回到顶部
总数 17 1 2 下一页