Rss & SiteMap

Foxtable(狐表) http://www.foxtable.com

新一代数据库软件,完美融合Access、Foxpro、Excel、vb.net之优势,人人都能掌握的快速软件开发工具!
共11 条记录, 每页显示 10 条, 页签: [1] [2]
[浏览完整版]

标题:聚合函数计算错误?

1楼
lur320 发表于:2024/5/16 11:28:00
 
图片点击可在新窗口打开查看此主题相关图片如下:捕获.png
图片点击可在新窗口打开查看

为啥?

应该是0/100+50/100,结果应该是0.5


我实际上的代码是:
totalsto = DataTables("异常记录").sqlCompute("sum(timespa*(1-停机/100))", "产品批


图片点击可在新窗口打开查看此主题相关图片如下:捕我获.png
图片点击可在新窗口打开查看

结果算下来是1.72, 应该是0.6+1.1/2,而不是1.72
[此贴子已经被作者于2024/5/16 11:31:25编辑过]
2楼
有点蓝 发表于:2024/5/16 11:33:00
改为datatable.sqlcompute

datatables("某表").sqlcompute
3楼
lur320 发表于:2024/5/16 12:35:00
 不都是datatables(xxxx)吗?有什么区别?
4楼
lur320 发表于:2024/5/16 12:37:00

图片点击可在新窗口打开查看此主题相关图片如下:阿斯顿.png
图片点击可在新窗口打开查看

教程里面的
[此贴子已经被作者于2024/5/16 12:37:37编辑过]
5楼
lur320 发表于:2024/5/16 12:40:00
 并且报错

图片点击可在新窗口打开查看此主题相关图片如下:阿斯顿.png
图片点击可在新窗口打开查看

6楼
lur320 发表于:2024/5/16 12:47:00
  totalsto = DataTables("异常记录").sqlCompute("sum(timespa*(1-停机/100))", "产品批号='" & dr("产品批号") & "' and (生产岗位 like '%内包%' or 生产岗位 like '%外包%')")
                dr("损失数量") = qty / (produtime - totalsto) * sto
                If dr("产品批号") = "240110529" Then
                    MessageBox.Show(totalsto)
                End If
           

图片点击可在新窗口打开查看此主题相关图片如下:捕获.png
图片点击可在新窗口打开查看

为何算出来是1.72? 0.62+1.1才是1.72,但sqlcompute 的公式是sum(timespa*(1-停机/100))
7楼
有点蓝 发表于:2024/5/16 13:32:00
计算结果不会有问题,有也是数据问题,或者自己公式有问题
8楼
lur320 发表于:2024/5/16 14:00:00
 那要计算每个批次的持续时间*(1-产出量/100)应该怎么改?



DataTables("异常记录").sqlCompute("sum(timespa*(1-停机/100))"


图片点击可在新窗口打开查看此主题相关图片如下:123.png
图片点击可在新窗口打开查看


[此贴子已经被作者于2024/5/16 14:03:27编辑过]
9楼
有点蓝 发表于:2024/5/16 14:08:00
改为高精度列:http://www.foxtable.com/webhelp/topics/1829.htm
10楼
lur320 发表于:2024/5/16 14:26:00
 原因查到了,但是更晕了,不理解。
这里改为*0.01
sqlCompute("sum(timespa*(1-停机*0.01))"
共11 条记录, 每页显示 10 条, 页签: [1] [2]

Copyright © 2000 - 2018 foxtable.com Tel: 4000-810-820 粤ICP备11091905号

Powered By Dvbbs Version 8.3.0
Processed in .02539 s, 2 queries.