以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  [求助]一段代码不知错哪了  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=59656)

--  作者:huangfanzi
--  发布时间:2014/11/7 17:49:00
--  [求助]一段代码不知错哪了

搞了一个下午也没搞明白,请老师看下。

项目的窗口中button中有段代码,如下:

Dim r1 As Row
Dim r2 As Row
Dim r3 As Row
Dim x As Integer
Dim n As Integer
n=Tables("工序表").Rows.Count
Tables("工序表").Rows(0)("重量累计单价")=Tables("工序表").Rows(0)("重量单价")
For x=0 To n-2
    r1=Tables("工序表").Rows(x)
    r2=Tables("工序表").Rows(x+1)
    If r2("卷号")=r1("卷号") Then
        r2("重量累计单价")=r1("重量累计单价")+r2("重量单价")
    Else
        Dim new_n As String
        new_n=r2("卷号").SubString(0,8)
        r3=Tables("工序表").Rows(Tables("工序表").FindRow("[卷号] = \'new_n\'" ))
        r2("重量累计单价")= r3("重量累计单价")+r2("重量单价")
    End If
    Next

这一段不能执行,报错,

.NET Framework 版本:2.0.50727.6421
Foxtable 版本:2014.10.23.1
错误所在事件:窗口,临时1,生成工序表,Click
详细错误信息:
索引 -1 不是为负数,就是大于行数。
我想了半天也不知错在哪了??

 

 

 下载信息  [文件大小:   下载次数: ]
点击浏览该文件:成本累加.zip


--  作者:有点甜
--  发布时间:2014/11/7 17:51:00
--  

Dim r1 As Row
Dim r2 As Row
Dim r3 As Row
Dim x As Integer
Dim n As Integer
n=Tables("工序表").Rows.Count
Tables("工序表").Rows(0)("重量累计单价")=Tables("工序表").Rows(0)("重量单价")
For x=0 To n-2
    r1=Tables("工序表").Rows(x)
    r2=Tables("工序表").Rows(x+1)
    If r2("卷号")=r1("卷号") Then
        r2("重量累计单价")=r1("重量累计单价")+r2("重量单价")
    Else
        Dim new_n As String
        new_n=r2("卷号").SubString(0,8)
        r3=Tables("工序表").Rows(Tables("工序表").FindRow("[卷号] = \'" & new_n & "\'" ))
        r2("重量累计单价")= r3("重量累计单价")+r2("重量单价")
    End If
Next


 


--  作者:有点甜
--  发布时间:2014/11/7 18:01:00
--  
Dim drs As List(Of DataRow) = DataTables("工序表").Select("", "卷号")
drs(0)("重量累计单价") = drs(0)("重量单价")
For i As Integer = 1 To drs.Count - 1
    If drs(i)("卷号") <> drs(i-1)("卷号") Then
        drs(i)("重量累计单价") = drs(i)("重量单价")
    Else
        drs(i)("重量累计单价") = drs(i-1)("重量累计单价") + drs(i)("重量单价")
    End If
Next

--  作者:huangfanzi
--  发布时间:2014/11/7 19:18:00
--  

明白了,是动态合成的问题。

[此贴子已经被作者于2014-11-7 19:30:02编辑过]