以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 减号报错 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=194439) |
-- 作者:lisheng0613 -- 发布时间:2024/12/10 11:06:00 -- 减号报错 For Each dc As DataCol In DataTables("预算报表_table1").DataCols If dc.name = "预算类型" Then Continue For Else Dim r0 As Row = Tables("预算报表_table1").Rows(0) Dim r1 As Row = Tables("预算报表_table1").Rows(1) Dim r2 As Row = Tables("预算报表_table1").Rows(2) r0(dc.name) = r1(dc.name) - r2(dc.name) End If Next 减号报错,加号正常运算,为啥? 报错提示“从字符串“”到类型“double”的转换无效”
|
-- 作者:有点蓝 -- 发布时间:2024/12/10 11:16:00 -- 把"预算类型"列类型改为双精度 |
-- 作者:lisheng0613 -- 发布时间:2024/12/10 11:39:00 -- 老师,预算类型列是文本类型,不参与计算。 |
-- 作者:lisheng0613 -- 发布时间:2024/12/10 11:40:00 -- 而且,我测试过了,换成加号正常,减号就不行了 |
-- 作者:有点蓝 -- 发布时间:2024/12/10 11:48:00 -- 减号就是做减法,怎么会不参与计算?! 加号出来做加法,还可以用来合并字符串,所没有问题
|
-- 作者:lisheng0613 -- 发布时间:2024/12/10 11:50:00 -- If dc.name = "预算类型" Then Continue For 预算类型这一列,我是跳过去了吧。
|
-- 作者:lisheng0613 -- 发布时间:2024/12/10 11:52:00 -- 我的意思是原来没有 If dc.name = "预算类型" Then Continue For 这一段代码的时候,我看到加号是把字符合并了,所有加了这各代码,后面就正常运算了。不会出现字符相加的意思,但是减号不能达到这个效果
|
-- 作者:有点蓝 -- 发布时间:2024/12/10 11:57:00 -- 剩下的还有字符列吗 For Each dc As DataCol In DataTables("预算报表_table1").DataCols If dc.name = "预算类型" Then Continue For Else Dim r0 As Row = Tables("预算报表_table1").Rows(0) 这一句必须换行,不能和Else 同一行 Dim r1 As Row = Tables("预算报表_table1").Rows(1) Dim r2 As Row = Tables("预算报表_table1").Rows(2) r0(dc.name) = r1(dc.name) - r2(dc.name) End If Next
|
-- 作者:lisheng0613 -- 发布时间:2024/12/10 12:00:00 -- 是的,有一列隐藏列没看到。已经解决了,谢谢。 |