Foxtable(狐表)用户栏目专家坐堂 → 减号报错


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

主题:减号报错

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


加好友 发短信
等级:婴狐 帖子:24 积分:278 威望:0 精华:0 注册:2020/5/11 20:26:00
减号报错  发帖心情 Post By: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”的转换无效”

 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:111393 积分:567029 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2024/12/10 11:16:00 [只看该作者]

把"预算类型"列类型改为双精度

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


加好友 发短信
等级:婴狐 帖子:24 积分:278 威望:0 精华:0 注册:2020/5/11 20:26:00
  发帖心情 Post By:2024/12/10 11:39:00 [只看该作者]

老师,预算类型列是文本类型,不参与计算。

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


加好友 发短信
等级:婴狐 帖子:24 积分:278 威望:0 精华:0 注册:2020/5/11 20:26:00
  发帖心情 Post By:2024/12/10 11:40:00 [只看该作者]

而且,我测试过了,换成加号正常,减号就不行了

 回到顶部
帅哥,在线噢!
有点蓝
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:111393 积分:567029 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2024/12/10 11:48:00 [只看该作者]

减号就是做减法,怎么会不参与计算?!

加号出来做加法,还可以用来合并字符串,所没有问题

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


加好友 发短信
等级:婴狐 帖子:24 积分:278 威望:0 精华:0 注册:2020/5/11 20:26:00
  发帖心情 Post By:2024/12/10 11:50:00 [只看该作者]

    If dc.name = "预算类型" Then
        Continue For
预算类型这一列,我是跳过去了吧。

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


加好友 发短信
等级:婴狐 帖子:24 积分:278 威望:0 精华:0 注册:2020/5/11 20:26:00
  发帖心情 Post By:2024/12/10 11:52:00 [只看该作者]

我的意思是原来没有   
 If dc.name = "预算类型" Then
        Continue For
这一段代码的时候,我看到加号是把字符合并了,所有加了这各代码,后面就正常运算了。不会出现字符相加的意思,但是减号不能达到这个效果

 回到顶部
帅哥,在线噢!
有点蓝
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:111393 积分:567029 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By: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
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:24 积分:278 威望:0 精华:0 注册:2020/5/11 20:26:00
  发帖心情 Post By:2024/12/10 12:00:00 [只看该作者]

是的,有一列隐藏列没看到。已经解决了,谢谢。

 回到顶部