以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  统计求助  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=19677)

--  作者:wilson
--  发布时间:2012/5/17 20:40:00
--  统计求助

我想在统计订单明细表的 数量、金额  增加 已发货(逻辑列)为条件统计, 统计已发货数量与金额,

要增加什么代码 求助

 

 

Forms("产品库存窗口").Show()
Dim bd1 As New GroupTableBuilder("统计表1",DataTables("生产计划表"))
Dim dt1 As fxDataSource
bd1.Groups.AddDef("产品型号") \'根据型号分组
bd1.Groups.AddDef("产品名称") \'根据型号分组
bd1.Groups.AddDef("产品规格") \'根据型号分组
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("数量","销售_数量") \'对数量进行统计
bd2.Totals.AddDef("金额","销售_金额") \'对金额进行统计
dt2 = bd2.BuildDataSource()

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

End If

dt1.Combine("产品型号",dt2,"产品型号") \'将销售统计数据组合到进货统计数据
dt1.Combine("产品型号",dt3,"产品型号") \'将退货统计数据组合到进货统计数
Tables("产品库存窗口_Table1").DataSource = dt1 \'将统计结果绑定到Table
With DataTables("产品库存窗口_Table1").DataCols  \'用表达式列计算库存数据
    .Add("当前库存_数量",Gettype(Integer), "IsNull([进货_数量],0) - ISNULL([销售_数量],0) + ISNULL([退货_数量],0)")
    .Add("当前库存_金额",Gettype(Double), "[当前库存_数量] /[进货_数量] * [进货_金额]")
    .Add("需求数量",Gettype(Integer), "ISNULL([销售_数量],0) - IsNull([进货_数量],0) - ISNULL([退货_数量],0)")
End With


--  作者:狐狸爸爸
--  发布时间:2012/5/18 8:19:00
--  

例如:

 

bd1.Filter= "已发货 = True"


--  作者:wilson
--  发布时间:2012/5/18 19:54:00
--  

问题已解决,谢谢老大


--  作者:wilson
--  发布时间:2012/5/18 23:32:00
--  

另外我想只加载库存大于0的数据,要增加什么代码,谢谢


--  作者:don
--  发布时间:2012/5/19 5:59:00
--  
DataTables("产品库存窗口_Table1").DeleteFor("[前库存_数量] <= 0")
--  作者:wilson
--  发布时间:2012/5/19 19:50:00
--  

非常感谢各位热心朋友的帮助


--  作者:wilson
--  发布时间:2012/5/19 19:50:00
--  
我的问题已解决