以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]已解决,谢谢!compute统计问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=28994)

--  作者:YDS
--  发布时间:2013/2/25 14:43:00
--  [求助]已解决,谢谢!compute统计问题

在进行compute的Sum计算时,如果Filter为空,怎么让结果返回0而不是返回空值!

例如:Total = DataTables("订单").Compute("Sum(数量)", "产品 = \'PD01\'")

如果没有发现产品为PD01的产品,怎么让Total = 0

[此贴子已经被作者于2013-2-25 16:38:09编辑过]

--  作者:lin_hailun
--  发布时间:2013/2/25 14:45:00
--  
 compute返回的应该就是0吧,你哪里出问题了。

------------

 测试了一下,返回的是Nothing,你定义total的时候,定义成Integer咯,默认就变成0了。

 Dim total As Integer

 
[此贴子已经被作者于2013-2-25 14:48:29编辑过]

--  作者:YDS
--  发布时间:2013/2/25 15:06:00
--  

我使用的时候是直接赋值给一个新建立的行,应该怎么操作呢?

Dim ndr As DataRow = dt_tj.AddNew
 ndr("部门") = dr("部门")
 ndr("员工") = name
Dim filter As String = "员工 = \'" & name & "\'"
ndr("支数") = dt_jc.Compute("Sum(完成数量)", filter & " And 日期 = #" & Date.Today & "#")


--  作者:lin_hailun
--  发布时间:2013/2/25 15:37:00
--  
 Dim ndr As DataRow = dt_tj.AddNew
 ndr("部门") = dr("部门")
 ndr("员工") = name
Dim filter As String = "员工 = \'" & name & "\'"
Dim sum As Integer=
dt_jc.Compute("Sum(完成数量)", filter & " And 日期 = #" & Date.Today & "#")
ndr("支数") = sum

--  作者:don
--  发布时间:2013/2/25 15:41:00
--  
 
Dim filter As String = "员工 = \'" & name & "\'"
Dim n1 As  Double = dt_jc.Compute("Sum(完成数量)", filter & " And 日期 = #" & Date.Today & "#")
Dim ndr As DataRow = dt_tj.AddNew
ndr("部门") = dr("部门")
ndr("员工") = name
ndr("支数") = n1

--  作者:YDS
--  发布时间:2013/2/25 16:38:00
--  

非常感谢楼上二位,问题已经解决!