Foxtable(狐表)用户栏目专家坐堂 → Tables的Compute的Sum函数计算不正常


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

主题:Tables的Compute的Sum函数计算不正常

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


加好友 发短信
等级:四尾狐 帖子:808 积分:6213 威望:0 精华:0 注册:2014/3/23 23:02:00
Tables的Compute的Sum函数计算不正常  发帖心情 Post By:2019/3/20 22:09:00 [只看该作者]

Tables("排班")经过筛选,有5行,“人数”列有大于0的数值,
以下代码:
               Dim Sum As Integer
                    Sum = DataTables("排班").Compute("Sum(人数)")
                    Sum = Tables("排班").Compute("Sum(人数)")

DataTables("排班").Compute("Sum(人数)")计算正常,能计算出整个Datatable表中人数,而Tables("排班").Compute("Sum(人数)")不正常,显示为0,求解,谢谢

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/3/20 22:56:00 [只看该作者]

1、如果是窗口表,你是不是写错了表名?

 

2、msgbox(tables("排班").rows.count) 的值是什么?


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


加好友 发短信
等级:四尾狐 帖子:808 积分:6213 威望:0 精华:0 注册:2014/3/23 23:02:00
  发帖心情 Post By:2019/3/21 11:25:00 [只看该作者]

1、在命令窗口中测试

 

2、msgbox(tables("排班").rows.count) 的值是5


刚刚有测试了,还有一样问题。


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


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/3/21 11:57:00 [只看该作者]

上传实例说明

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


加好友 发短信
等级:四尾狐 帖子:808 积分:6213 威望:0 精华:0 注册:2014/3/23 23:02:00
  发帖心情 Post By:2019/3/21 20:17:00 [只看该作者]

新开了一个项目测试正常。不知道现在项目怎么回事,还是不行,非要用datatable。另外还发现,同样的函数放在窗口的按钮中运行会不执行,放到命令窗口中运行就正常,不明白。

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/3/21 22:57:00 [只看该作者]

以下是引用一笑在2019/3/21 20:17:00的发言:
新开了一个项目测试正常。不知道现在项目怎么回事,还是不行,非要用datatable。另外还发现,同样的函数放在窗口的按钮中运行会不执行,放到命令窗口中运行就正常,不明白。

 

1、是否有其余代码影响了结果?

 

2、具体问题,联系客服QQ远程测试一下。

 


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


加好友 发短信
等级:幼狐 帖子:136 积分:1427 威望:0 精华:0 注册:2013/8/7 18:14:00
  发帖心情 Post By:2023/6/21 13:16:00 [只看该作者]

Dim smartID As String = "YFHX202306-0015"


'应付副表本地表
Dim jb1 As New SQLJoinTableBuilder("检查", "应付副表本地表")
Jb1.AddExp("类型", "'本地表'")
Jb1.AddExp("本单单号", "smartID")
Jb1.AddExp("成色", "materialName1")
Jb1.AddExp("工费", "actualAmount")
Jb1.AddExp("银重", "actualweight")
Jb1.Filter = "{应付副表本地表}.smartID = '" & smartID & "'"

'R03_payable_Detail1
Dim jb2 As New SQLJoinTableBuilder("检查", "R03_payable_Detail1")
jb2.C
jb2.AddTable("R03_payable_Detail1", "ID", "R03_payable_Detail3", "ID")
Jb2.AddExp("类型", "'外部表'")
Jb2.AddExp("本单单号", "R03_payable_Detail1.smartID")
Jb2.AddExp("成色", "materialName")
Jb2.AddExp("工费", "-actualAmount")
Jb2.AddExp("银重", "-actualweight")
Jb2.Filter = "R03_payable_Detail1.smartID = '" & smartID & "'"


'组合jb1  
jb1.Merge(jb2) '组合jb2  
jb1.Build()
MainTable = Tables("检查")


Dim Sum1 As String = Tables("检查").Compute("Sum(工费)*0.01")  ' Double   Decimal  String 这三种类型,但出来的结果只是趋近于0,但不等于,导致下面的判断无法正常使用,但实际结果是等于0的
代码改成下面这种,会不会有bug
Dim Sum1 As Decimal = Format(Tables("检查").Compute("Sum(工费)"), "#0.00")
MessageBox.Show("" & Sum1 & "")

If "" & Sum1 & "" <> 0 Then
   MessageBox.Show("实收工费错误") 
End If 
老师,帮忙看下怎么优化

[此贴子已经被作者于2023/6/21 13:21:23编辑过]

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


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/6/21 13:37:00 [只看该作者]

Dim Sum1 As Decimal = Tables("检查").Compute("Sum(工费)")
MessageBox.Show(Sum1) ‘’这里显示什么值?

 回到顶部