以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  能只显示汇总行不?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=63553)

--  作者:石四
--  发布时间:2015/1/23 12:57:00
--  能只显示汇总行不?
统计表能只显示汇总行不?好像教科书没有讲.
--  作者:Bin
--  发布时间:2015/1/23 13:59:00
--  
只显示汇总行? 那你不如生成一个临时统计表,自己编码填充统计


--  作者:有点甜
--  发布时间:2015/1/23 14:00:00
--  

 呃,不能。

 

 只显示汇总行,为什么不直接用分组统计


--  作者:石四
--  发布时间:2015/1/23 15:32:00
--  
好像COMPUTE可以解决问题,试试.
--  作者:石四
--  发布时间:2015/1/24 10:30:00
--  
 

Dim b1 As New SQLGroupTableBuilder("统计表1","销售明细")

b1.C

Dim dt1 As DataTable

b1.AddTable("销售明细","出库单号","销售出库","出库单号") \'添加统计表

b1.Groups.AddDef("日期",DateGroupEnum.Year,"年")

b1.Groups.AddDef("日期",DateGroupEnum.Month,"月")

b1.Groups.AddDef("零件图号")

b1.Groups.AddDef("客户名称") \'根据产品名称分组

b1.Groups.AddDef("零件名称")

b1.Totals.AddDef("数量") \'对数量进行统计

b1.Totals.AddDef("实收数") \'对数量进行统计

b1.Totals.AddExp("含税金额","实收数 * 1.17 * 单价")

dt1 = b1.Build(True) \'生成一个DataTable

 

Dim dtb As New DataTableBuilder("总表")

dtb.AddDef("年", Gettype(String), 16)

dtb.AddDef("月", Gettype(String), 16)

dtb.AddDef("客户名称", Gettype(String), 16)

dtb.AddDef("实收金额", Gettype(Double))

dtb.Build()

For Each nm() As String In dt1.GetValues("客户名称|年|月")

Dim dr As DataRow = DataTables("总表").AddNew()

    dr("客户名称") = nm(0)

    dr("年") = nm(1)

    dr("月") = nm(2)

    dr("实收金额") = dt1.Compute("Sum(含税金额)","客户名称 = \'" & nm(0) & "\'And [年] = \'" & nm(1) & "\'And [月] = \'" & nm(2) & "\'")

Next

MainTable= Tables("总表")


--  作者:石四
--  发布时间:2015/1/24 10:38:00
--  

还有另外一个"统计表2",能不能直接COMPUTE统计?或者只能再运行一个相似代码,用COMBINE的办法解决?

 

 

Dim b2 As New SQLGroupTableBuilder("统计表2","开票")

b2.C

Dim dt2 As DataTable 

b2.Groups.AddDef("日期",DateGroupEnum.Year,"年")

b2.Groups.AddDef("零件图号")

b2.Groups.AddDef("日期",DateGroupEnum.Month,"月")

b2.Groups.AddDef("客户名称") \'根据产品名称分组

b2.Groups.AddDef("零件名称")

b2.Totals.AddDef("开票_数量") \'对数量进行统计

b2.Totals.AddExp("开票_金额","开票_数量 * 单价")

b2.Totals.AddExp("开票_税额","开票_数量 * 0.17 * 单价")

b2.Totals.AddExp("开票_总额","开票_数量 * 1.17 * 单价")

dt2 = b2.Build(True) \'生成一个DataTable