以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]请问如何解决这样的错误提示! (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=65757) |
|
-- 作者:rophy0952 -- 发布时间:2015/3/22 14:00:00 -- [求助]请问如何解决这样的错误提示! 表属性的“datacolchanged”事件中的如下代码,在执行的过程中提示:“索引超出了数组界限。”,试着弹出结果,与实际想要的一致,但就不知什么原因会出现这个错误提示?请指教,谢谢! If e.DataCol.name = "规格" Then If e.DataRow.Isnull("规格") = True Then e.DataRow("卷芯宽度") = Nothing Else e.DataRow("卷芯宽度") = e.DataRow("规格").Split("*")(1) End If End If |
|
-- 作者:有点甜 -- 发布时间:2015/3/22 14:07:00 -- If e.DataCol.name = "规格" Then If e.DataRow.Isnull("规格") = True OrElse e.DataRow("规格").Split("*") < 2 Then
e.DataRow("卷芯宽度") = Nothing
Else
e.DataRow("卷芯宽度") = e.DataRow("规格").Split("*")(1)
End If
End If
|
|
-- 作者:rophy0952 -- 发布时间:2015/3/22 14:26:00 -- 我的规格是这样的“3.5*14*1.5”,想取两个*号中间的数(14),按照上面代码修改后,卷芯宽度值为空 |
|
-- 作者:有点甜 -- 发布时间:2015/3/22 14:28:00 -- 代码没问题,重置一下你的规格列。
如果还不行,就是你数据有问题 |
|
-- 作者:rophy0952 -- 发布时间:2015/3/22 14:32:00 -- 又出现这样的提示“没有为 类型“String()” 和 类型“Integer” 定义运算符“<”。” |
|
-- 作者:有点甜 -- 发布时间:2015/3/22 14:33:00 -- |
|
-- 作者:rophy0952 -- 发布时间:2015/3/22 15:09:00 -- 刚才用排除法将所有代码屏蔽掉,逐一排除,发现是在执行下面的代码时,出现的错误提示:“索引超出了数组界限。”,该如何处理呢,谢谢! Select Case e.DataCol.name Case "不良品_只数","不良品_毛重","卷芯单重" Dim dr As DataRow = e.DataRow dr("不良品_净重") = dr("不良品_毛重")-dr("不良品_只数")*dr("卷芯单重") dr.save End Select |
|
-- 作者:有点甜 -- 发布时间:2015/3/22 15:12:00 -- 1、去检测此列名 不良品_净重 对应的Datacolchanged代码;
2、去检测beforesavedatarow事件 |
|
-- 作者:rophy0952 -- 发布时间:2015/3/22 15:24:00 -- 有这段代码,但还是注释的状态呀?beforesavedatarow事件中无代码 \'Select Case e.DataCol.name \'Case "不良品_净重","单边_不良净重" \'Dim r As Row = Tables("核数表").Current \'Tables("核数明细表").current.save \'r("不良品_净重") = DataTables("核数明细表").SQLCompute("sum(不良品_净重)","流水号 = \'" & e.DataRow("流水号") & " \'") + DataTables("核数明细表").SQLCompute("sum(单边_不良净重)","流水号 = \'" & e.DataRow("流水号") & " \'") \'r.save \'End Select [此贴子已经被作者于2015/3/22 15:24:48编辑过]
|
|
-- 作者:有点甜 -- 发布时间:2015/3/22 15:26:00 -- 1、加入msgbox看是哪里出问题;
2、不会排查,就请上传具体例子 |