Foxtable(狐表)用户栏目专家坐堂 → [求助]一段代码不知错哪了


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

主题:[求助]一段代码不知错哪了

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


加好友 发短信
等级:五尾狐 帖子:1104 积分:8956 威望:0 精华:0 注册:2014/10/25 11:24:00
[求助]一段代码不知错哪了  发帖心情 Post By: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


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By: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


 


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By: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
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1104 积分:8956 威望:0 精华:0 注册:2014/10/25 11:24:00
  发帖心情 Post By:2014/11/7 19:18:00 [只看该作者]

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

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

 回到顶部