以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 多表统计增加的表达式列如何汇总 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=105602) |
-- 作者:lk15502 -- 发布时间:2017/8/22 20:03:00 -- 多表统计增加的表达式列如何汇总 下面的代码是多表统计,最后的代码,增加了表达式列,最后的汇总行表达式列这边是空的,如何让表达式列也能垂直汇总,寻求老师帮助 Dim bd6 As New GroupTableBuilder("统计表6",DataTables("机物料出库表")) Dim dt6 As fxDataSource bd6.Groups.AddDef("品名") \'根据品名分组 bd6.Groups.AddDef("规格") \'根据入库编号分组 bd6.Totals.AddDef("数量","本月总出库_数量") \'对数量进行统计 bd6.Totals.AddDef("金额","本月总出库_金额") bd6.filter = "申购分类 in (\'机物料\',\'食堂\') and 出库日期 < \'" & lday & "\'" bd6.fromserver = True dt6 = bd6.BuildDataSource() Dim nms As String() = {"品名","规格"} dt5.Combine(nms,dt1,nms) dt5.Combine(nms,dt2,nms) dt5.Combine(nms,dt3,nms) dt5.Combine(nms,dt4,nms) \'将收入退回统计数据组合到收入完工入库统计数据 dt5.Combine(nms,dt6,nms) \'将发出销售统计数据组合到收入完工入库统计数据 Tables(e.Form.Name & "_Table7").DataSource = dt5 \'将统计结果绑定到Table Dim t As Table = Tables(e.Form.Name & "_Table7") 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 = "*" g.TotalOn = "上月总入库_数量,上月总入库_金额,上月总出库_数量,上月总出库_金额,本月进_数量,本月进_金额,本月出_数量,本月出_金额,本月总入库_数量,本月总入库_金额,本月总出库_数量,本月总出库_金额" g.Caption = "总计" t.SubtotalGroups.Add(g) t.autosizecols() t.Cols("上月总入库_数量").Visible = False t.Cols("上月总入库_金额").Visible = False t.Cols("上月总出库_数量").Visible = False t.Cols("上月总出库_金额").Visible = False t.Cols("本月总入库_数量").Visible = False t.Cols("本月总入库_金额").Visible = False t.Cols("本月总出库_数量").Visible = False t.Cols("本月总出库_金额").Visible = False With DataTables(e.Form.Name & "_Table7").DataCols \'用表达式列计算上月结存和本月结存 .Add("上月结存_数量",Gettype(Double), "IsNull([上月总入库_数量],0) - ISNULL([上月总出库_数量],0)") .Add("上月结存_金额",Gettype(Double), "IsNull([上月总入库_金额],0) - ISNULL([上月总出库_金额],0)") .Add("本月结存_数量",Gettype(Double), "IsNull([本月总入库_数量],0) - ISNULL([本月总出库_数量],0)") .Add("本月结存_金额",Gettype(Double), "IsNull([本月总入库_金额],0) - ISNULL([本月总出库_金额],0)") End With t.Subtotal() |
-- 作者:有点蓝 -- 发布时间:2017/8/22 20:21:00 -- 表达式也可以的,先生成列,在加入汇总中 Tables(e.Form.Name & "_Table7").DataSource = dt5 \'将统计结果绑定到Table With DataTables(e.Form.Name & "_Table7").DataCols \'用表达式列计算上月结存和本月结存 .Add("上月结存_数量",Gettype(Double), "IsNull([上月总入库_数量],0) - ISNULL([上月总出库_数量],0)") .Add("上月结存_金额",Gettype(Double), "IsNull([上月总入库_金额],0) - ISNULL([上月总出库_金额],0)") .Add("本月结存_数量",Gettype(Double), "IsNull([本月总入库_数量],0) - ISNULL([本月总出库_数量],0)") .Add("本月结存_金额",Gettype(Double), "IsNull([本月总入库_金额],0) - ISNULL([本月总出库_金额],0)") End With Dim t As Table = Tables(e.Form.Name & "_Table7") 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 = "*" g.TotalOn = "上月总入库_数量,上月总入库_金额,上月总出库_数量,上月总出库_金额,本月进_数量,本月进_金额,本月出_数量,本月出_金额,本月总入库_数量,本月总入库_金额,本月总出库_数量,本月总出库_金额,上月结存_数量" g.Caption = "总计" t.SubtotalGroups.Add(g) t.autosizecols() t.Cols("上月总入库_数量").Visible = False t.Cols("上月总入库_金额").Visible = False t.Cols("上月总出库_数量").Visible = False t.Cols("上月总出库_金额").Visible = False t.Cols("本月总入库_数量").Visible = False t.Cols("本月总入库_金额").Visible = False t.Cols("本月总出库_数量").Visible = False t.Cols("本月总出库_金额").Visible = False t.Subtotal() |
-- 作者:lk15502 -- 发布时间:2017/8/23 17:22:00 -- 试了,还是和原来一样 |
-- 作者:lk15502 -- 发布时间:2017/8/23 18:36:00 -- 好了,找到原因了。 |