Foxtable(狐表)用户栏目专家坐堂 → 交叉统计后再次汇总如何动态取得数量等统计列?(已解决)


  共有8021人关注过本帖树形打印复制链接

主题:交叉统计后再次汇总如何动态取得数量等统计列?(已解决)

帅哥哟,离线,有人找我吗?
狐狸爸爸
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2013/3/19 14:54:00 [显示全部帖子]

这样就自动了:

 

If DataTables.Contains("产品出货统计") '如果存在产品出货统计表则删除
    DataTables.Delete("产品出货统计")
End If
Dim b As New SQLCrossTableBuilder("产品出货统计","出库明细")
b.AddTable("出库明细","出库单号","出库单","出库单号") '添加统计表
b.HGroups.AddDef("产品编码") '添加水平分组列
b.HGroups.AddDef("{出库明细}.品名") '添加水平分组列
b.HGroups.AddDef("{出库明细}.规格") '添加水平分组列
b.VGroups.AddDef("出库日期",DateGroupEnum.Year,"{0}年") '添加日期列用于垂直分组,按年分组
b.VGroups.AddDef("出库日期","{0}月") '添加日期列用于垂直分组,按月分组
b.Totals.AddDef("{出库明细}.数量") '添加数量列用于统计
b.Build '生成统计表
MainTable = Tables("产品出货统计") '打开生成的统计表

Dim t As Table = Tables("产品出货统计")
Dim g As Subtotalgroup
t.SubtotalGroups.Clear()
t.GroupAboveData = False
t.TreeVisible = False
t.SpillNode = True

g = New Subtotalgroup
g.Aggregate = AggregateEnum.Sum
g.GroupOn = "产品编码"

For Each c As col In Tables("产品出货统计").Cols
    If c.DataCol.IsNumeric Then
            g.TotalOn = g.TotalOn & "," & c.name
    End If
Next
g.TotalOn = g.Totalon.trim(",")

g.Caption = "{0} 小计"
t.SubtotalGroups.Add(g)
t.Subtotal() '生成汇总模式


 回到顶部