以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 代码错误,谁能帮忙我看看吗? (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=60712) |
-- 作者:affixed -- 发布时间:2014/11/29 16:33:00 -- 代码错误,谁能帮忙我看看吗? 这段代码错误在哪里?提示:索引2不为负数,就是大于行数。 Dim Cols1() As String = {"登记号","计划号","物料ID","物料名称","物料名称日文","规格型号","请购数量","下单数量","含税单价","希望到货日期","供应商名"} Dim Cols2() As String = {"orderQgDjh","orderQgJhh","orderItemID","orderItemName","orderItemNameJap","orderItemSPEC","orderSl","orderItemUp","orderdhTime","orderSup"} For Each dr1 As Row In Tables("比价生单窗口_Table1").GetCheckedRows Dim result As DialogResult If result = False Then For i As Integer = 1 To Tables("比价生单窗口_Table1").Rows.Count Dim dr As Row dr = Tables("比价生单窗口_Table1").Rows(i) If dr("下单数量") > dr("剩余数量") Or dr("下单数量") < 0 Then messagebox.show("下单数量不能大于请购数量或小于\'0\'!") End If Next End If Dim dr2 As Row = Tables("orderList").AddNew() For i As Integer = 1 To Cols1.Length -1 dr2(Cols2(i)) = dr1(Cols1(i)) Next Next messagebox.show("订单已生成完毕!") |
-- 作者:狐狸爸爸 -- 发布时间:2014/11/29 16:50:00 -- 你用这个,可以找出出错的代码是那一行。 |
-- 作者:affixed -- 发布时间:2014/11/29 16:53:00 -- 狐爸,用哪个? 我也希望FT能想其他的编程软件一样,可以提示出错的具体位置。
|
-- 作者:狐狸爸爸 -- 发布时间:2014/11/29 16:54:00 -- 惭愧,是这个: http://www.foxtable.com/help/topics/1485.htm
|
-- 作者:狐狸爸爸 -- 发布时间:2014/11/29 16:55:00 -- 其实我已经看出问题了,Cols1有11个元素,Cols2是10个。 所以下面的代码一定会出错:
For i As Integer = 1 To Cols1.Length -1 dr2(Cols2(i)) = dr1(Cols1(i))
Next
|
-- 作者:affixed -- 发布时间:2014/11/29 17:05:00 -- 这个好似调试起来很麻烦,狐爸,下次更新时能否增加错误跟踪功能。 |
-- 作者:狐狸爸爸 -- 发布时间:2014/11/29 17:17:00 -- 嗯,看5楼 |