以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  组合多个统计  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=179166)

--  作者:denghui69986
--  发布时间:2022/8/11 10:22:00
--  组合多个统计
我在操作指南里面按照案例说明组合多个统计,出现问题老师帮忙指点,谢谢
图片点击可在新窗口打开查看
图片点击可在新窗口打开查看
以下是这是按键统计代码,新建一个窗口,在窗口中插入一个Table控件和一个按钮,将按钮的Click事件代码设为:
Dim bd1 As New GroupTableBuilder("统计表1", DataTables("计件统计"))
Dim dt1 As fxDataSource
bd1.Groups.AddDef("姓名") \'根据型号分组
bd1.Totals.AddDef("数量", "数量") \'对数量进行统计
bd1.Totals.AddDef("金额", "金额") \'对金额进行统计
dt1 = bd1.BuildDataSource()

Dim bd2 As New GroupTableBuilder("统计表2", DataTables("计件统计"))
Dim dt2 As fxDataSource
bd2.Groups.AddDef("姓名") \'根据型号分组
bd2.Totals.AddDef("数量1", "数量") \'对数量进行统计
bd2.Totals.AddDef("金额1", "金额") \'对金额进行统计
dt2 = bd2.BuildDataSource()

Dim bd3 As New GroupTableBuilder("统计表3", DataTables("计件统计"))
Dim dt3 As fxDataSource
bd3.Groups.AddDef("姓名") \'根据型号分组
bd3.Totals.AddDef("数量2", "数量") \'对数量进行统计
bd3.Totals.AddDef("金额2", "金额") \'对金额进行统计
dt3 = bd3.BuildDataSource()

dt1.Combine("姓名2", dt2, "姓名") \'将销售统计数据组合到进货统计数据
dt1.Combine("姓名2", dt3, "姓名") \'将退货统计数据组合到进货统计数据

Tables("窗口1_Table1").DataSource = dt1 \'将统计结果绑定到Table
With DataTables("窗口1_Table1").DataCols \'用表达式列计算库存数据
End With

--  作者:有点蓝
--  发布时间:2022/8/11 10:50:00
--  
Dim bd2 As New GroupTableBuilder("统计表2", DataTables("计件统计"))
Dim dt2 As fxDataSource
bd2.Groups.AddDef("姓名1") \'根据型号分组
bd2.Totals.AddDef("数量1", "数量") \'对数量进行统计
bd2.Totals.AddDef("金额1", "金额") \'对金额进行统计
dt2 = bd2.BuildDataSource()

Dim bd3 As New GroupTableBuilder("统计表3", DataTables("计件统计"))
Dim dt3 As fxDataSource
bd3.Groups.AddDef("姓名2") \'根据型号分组
bd3.Totals.AddDef("数量2", "数量") \'对数量进行统计
bd3.Totals.AddDef("金额2", "金额") \'对金额进行统计
dt3 = bd3.BuildDataSource()

dt1.Combine("姓名", dt2, "姓名1") \'将销售统计数据组合到进货统计数据
dt1.Combine("姓名", dt3, "姓名2") \'将退货统计数据组合到进货统计数据

--  作者:denghui69986
--  发布时间:2022/8/11 11:47:00
--  
又没什么参照方法把上面统计好窗口里面的计件工资,按照姓名把金额引到工资表上去,谢谢
--  作者:有点蓝
--  发布时间:2022/8/11 11:57:00
--  

For Each dr1 As DataRow In DataTables("窗口1_Table1").datarows
    Dim
 dr2 As DataRow = DataTables("
工资表").find("姓名=\'" & dr1("姓名") & "\'")
if dr2 isnot nothing then
    dr2("金额") = dr1("金额")
endif
Next

--  作者:denghui69986
--  发布时间:2022/8/11 11:59:00
--  
老师这代码是设置在表那个事件
--  作者:有点蓝
--  发布时间:2022/8/11 13:59:00
--  
窗口添加按钮,放到按钮事件
--  作者:denghui69986
--  发布时间:2022/8/11 15:03:00
--  
谢谢老师指导