-- 作者:wangglby
-- 发布时间:2021/4/12 15:55:00
-- 帮看看代码错误
想实现一个功能,实现表(有三列,级别,净重,数量)中 级别是1的行的净重等于他后面级别是2的行的数量和净重的乘之和(如果后面有级别是2的行)
If e.DataCol.Name = "净重" Or e.DataCol.Name ="数量" Then
Dim c As Integer
Dim c1 As Integer =Tables("表A").Rows.count-1
For c = 0 To c1
Dim t1 As Table = Tables("表A")
Dim r1 As Integer
Dim r11 As Integer
Dim A1 As Double = 0
r1 = CurrentTable.FindRow("[级别] = \'1\'",c,True)
r11 = r1
If r11 >=0 Then
If r11 < c1 Then
If t1.Rows(r1+1)("级别") = 2 Then
Do While t1.Rows(r1+1)("级别") > 1
If t1.Rows(r1+1)("级别") = 2 Then
A1 = A1 + t1.Rows(r1+1)("净重")*t1.Rows(r1+1)("数量")
End If
r1=r1+1
Loop
t1.Rows(r11)("净重") =A1
End If
End If
End If
Next
End If
但是有报错,报错内容如下:
.NET Framework 版本:4.0.30319.42000 Foxtable 版本:2020.1.19.19 错误所在事件:表,表A,DataColChanged 详细错误信息: 调用的目标发生了异常。 从字符串“级别”到类型“Double”的转换无效。 输入字符串的格式不正确。
请帮看看怎么回事。
[此贴子已经被作者于2021/4/12 16:46:49编辑过]
|