以文本方式查看主题 - 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 |