以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  如何实现主表和明细合并统计?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=186467)

--  作者:lin98
--  发布时间:2023/5/5 17:17:00
--  如何实现主表和明细合并统计?
模拟关联,表A为主表,表B为明细表,如何根据主表和明细的内容进行统计显示?

表A
单号    客户     日期              等级
A01     AA      2023-3-3       A
A02     AA      2023-3-10      A
A03     BB      2023-3-15     B

表B
单号    物料号     品名              数量
A01     F01         FF                 200
A01     F02         FA                 350
A02     F01         FF                 2000
A02     K02         FK                3000
A03    BK02        G FK                5000

需求计算结果

    年        月      客户       等级         物料号      品名              数量      
    2023      3       AA        A             F01         FF                 2200
     2023      3       AA        A              F02         FA                 350
     2023      3     AA          A            K02         FK                3000
     2023      3     AA           A             K02         FK                3000
      2023      3     BB           B             BK02        G FK               5000





--  作者:有点蓝
--  发布时间:2023/5/5 17:21:00
--  
参考:http://www.foxtable.com/webhelp/topics/1626.htm

Dim b As New SQLGroupTableBuilder("统计表1","表A")
b.ConnectionName = 
"Sale"
b.AddTable(
"表A","单号","表A","单号"\'添加统计表
b.Groups.AddDef(
"日期", DateGroupEnum.Year, "年"\'根据日期按年分组
b.Groups.AddDef(
"客户"\'根据产品名称分组
b.Totals.AddDef(
"数量"\'对数量进行统计
b.Totals.AddDef……
……
b.Build 
\'生成统计表
Maintable
 = Tables("统计表1"\'打开生成的统计表

--  作者:lin98
--  发布时间:2023/5/5 18:02:00
--  
如果分组是客户、产品,如何实现重复客户的合并显示?
--  作者:有点蓝
--  发布时间:2023/5/6 8:43:00
--  
怎么个合并法?请举例具体数据说明
--  作者:lin98
--  发布时间:2023/5/6 10:07:00
--  

图片点击可在新窗口打开查看

显然,对于标准合并方式,我们应该将需要合并的列移到最左边。


With Tables("订单统计窗口_Table2")
    .MergeMode = MergeModeEnum.Standard \'标准合并模式
    .
MergeCols.Clear() \'清除原来的合并
    .
MergeCols.Add("客户"\'加入要合并的列

    .
MergeSort = "客户" \'设置合并模式下的排序方式
    .
AllowMerge = True \'启用合并模式
End With



订单统计窗口_Table2是2楼的方法统计显示在Table2,想结果以客户进行合并,上面代码,没报错,也没执行,不知怎么解决?


--  作者:有点蓝
--  发布时间:2023/5/6 10:16:00
--  
显然,对于标准合并方式,我们应该将需要合并的列移到最左边。