以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  用SQLCompute统计结果不对  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=153225)

--  作者:季朝龙
--  发布时间:2020/8/4 14:23:00
--  用SQLCompute统计结果不对

图片点击可在新窗口打开查看此主题相关图片如下:图片2.png
图片点击可在新窗口打开查看
表“返工单”内每个审批人姓名都设置一列,用来记录审批用时,先在需要统计每个审批人员的平均每单的审批用时。
希望得到的结果如附件的图片所示。
图片点击可在新窗口打开查看此主题相关图片如下:图片1.png
图片点击可在新窗口打开查看

运行以下代码,但是得不到想要的结果,请老师帮忙看看是哪里出问题了。


Dim i As Integer
Dim s As Integer = Tables("统计").Rows.Count
For i = 0 To s-1
Dim r As Row = Tables("统计").Rows(i)
r("单数") = DataTables("返工单").SQLCompute("Count(\'" & r("姓名") & "\')") 
r("用时") = DataTables("返工单").SQLCompute("Sum(\'" & r("姓名") & "\')") 
r("平均用时") = r("用时") / r("单数")
Next


--  作者:有点蓝
--  发布时间:2020/8/4 14:26:00
--  
先保存一下在调用上面的代码,SQLCompute只能统计已保存的数据,另外统计列不需要加单引号

DataTables("返工单").save
Dim i As Integer
Dim s As Integer = Tables("统计").Rows.Count
For i = 0 To s-1
Dim r As Row = Tables("统计").Rows(i)
r("单数") = DataTables("返工单").SQLCompute("Count(" & r("姓名") & ")") 
r("用时") = DataTables("返工单").SQLCompute("Sum(" & r("姓名") & ")") 
r("平均用时") = r("用时") / r("单数")
Next

--  作者:季朝龙
--  发布时间:2020/8/4 15:21:00
--  按照您的方法解决了,非常感谢!
按照您的方法解决了,非常感谢!