以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  SQLGroupTableBuilder统计表中,空白格不统计导致错误如何办?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=134243)

--  作者:foxyuan
--  发布时间:2019/4/30 17:23:00
--  SQLGroupTableBuilder统计表中,空白格不统计导致错误如何办?
请教大师:

Dim bd1 As New SQLGroupTableBuilder("项目综合数据统计","合同台账")
Dim dt1 As fxDataSource
bd1.Groups.AddDef("项目编号") \'根据型号分组
bd1.Groups.AddDef("项目名称") \'根据型号分组
bd1.Totals.AddDef("合同金额","合同金额(元)") \'对数量进行合同统计
dt1 = bd1.BuildDataSource()

Dim bd2 As New SQLGroupTableBuilder("统计表2","结算表")
Dim dt2 As fxDataSource
bd2.Groups.AddDef("项目编号") \'根据型号分组
bd2.Groups.AddDef("项目名称") \'根据型号分组
bd2.Totals.AddExp("最终结算金额","批准金额 - 业主扣款金额 - 总包扣款金额 - 其他扣款金额","结算金额(元)") 
dt2 = bd2.BuildDataSource()

Dim nms As String() = {"项目编号","项目名称"} \'指定连接列
dt1.Combine(nms,dt2,nms) \'将销售统计数据组合到进货统计数据
dt1.Show("项目综合数据统计")
 \'显示统计结果
MainTable = Tables("项目综合数据统计")

原来结算表中【最终结算金额】列的公式是:IsNull([批准金额],0) - IsNull([业主扣款金额],0) - IsNull([总包扣款金额],0) - IsNull([其他扣款金额],0),这样的结果是正确的。但在统计表中,不能使用IsNull()导致有些空白格统计不出结果来,这样情况如何处理呢?

--  作者:有点甜
--  发布时间:2019/4/30 17:26:00
--  

 

bd2.Totals.AddExp("最终结算金额","iif(批准金额 is null, 0, 批准金额) - iif(业主扣款金额 is null, 0, 业主扣款金额) - iif(总包扣款金额 is null, 0, 总包扣款金额) - iif(其他扣款金额 is null, 0, 其他扣款金额)","结算金额(元)")

 

 


--  作者:foxyuan
--  发布时间:2019/4/30 21:08:00
--  
万分感谢!