以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助] 统计里面怎么添加筛选条件  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=120988)

--  作者:堕落的后天
--  发布时间:2018/6/27 14:51:00
--  [求助] 统计里面怎么添加筛选条件
自己写的一段代码   怎么让领料数量按商品批号 统计?我这样写 ,测试时领料不是按批号统计的,而是按名称统计在了一起. 


Dim txt As String 

txt = e.Form.Controls("ComboBox1").Text

 
Dim bd1 As New GroupTableBuilder("统计表1",DataTables("采购情况表"), "仓库 = \'"  & txt &  "\'") 

Dim dt1 As fxDataSource

bd1.Groups.AddDef("品名") \'根据型号分组
bd1.Groups.AddDef("药品批号")
bd1.Totals.AddDef("数量","进货_数量") \'对数量进行统计

dt1 = bd1.BuildDataSource()

Dim bd2 As New GroupTableBuilder("统计表2",DataTables("医生领料表"),"仓库 = \'"  & txt &  "\'") 

Dim dt2  As fxDataSource

bd2.Groups.AddDef("品名") \'根据型号分组
bd1.Groups.AddDef("批号")
bd2.Totals.AddDef("数量","销售_数量") \'对数量进行统计

dt2 = bd2.BuildDataSource()



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


Tables("库存提醒_Table1").DataSource = dt1 \'将统计结果绑定到Table
With DataTables("库存提醒_Table1").DataCols  \'用表达式列计算库存数据
    .Add("库存_数量",Gettype(Integer), "IsNull([进货_数量],0) - ISNULL([销售_数量],0)")
    
End With


--  作者:y2287958
--  发布时间:2018/6/27 14:53:00
--  
不是有条件filter吗
--  作者:堕落的后天
--  发布时间:2018/6/27 15:08:00
--  
条件filter  是针对一个表内的数据   但对于需要品名和型号相关联 统计的  怎么去写?
--  作者:有点甜
--  发布时间:2018/6/27 15:15:00
--  

参考

 

http://www.foxtable.com/webhelp/scr/2392.htm

 


--  作者:堕落的后天
--  发布时间:2018/6/27 15:17:00
--  
我改了   


Dim txt As String 

txt = e.Form.Controls("ComboBox1").Text

 
Dim bd1 As New GroupTableBuilder("统计表1",DataTables("采购情况表"), "仓库 = \'"  & txt &  "\'") 

Dim dt1 As fxDataSource

bd1.Groups.AddDef("品名") \'根据型号分组
bd1.Groups.AddDef("药品批号")
bd1.Totals.AddDef("数量","进货_数量") \'对数量进行统计

dt1 = bd1.BuildDataSource()

Dim bd2 As New GroupTableBuilder("统计表2",DataTables("医生领料表"),"仓库 = \'"  & txt &  "\'") 

Dim dt2  As fxDataSource

bd2.Groups.AddDef("品名") \'根据型号分组
bd1.Groups.AddDef("批号")
bd2.Totals.AddDef("数量","销售_数量") \'对数量进行统计

dt2 = bd2.BuildDataSource()



Dim ns As String() = {"品名","药品批号"} \'指定连接列
Dim nm As String() = {"品名","批号"} \'指定连接列
dt1.Combine(nm,dt2,ns) \'将销售统计数据组合到进货统计数据



Tables("库存提醒_Table1").DataSource = dt1 \'将统计结果绑定到Table
With DataTables("库存提醒_Table1").DataCols  \'用表达式列计算库存数据
    .Add("库存_数量",Gettype(Integer), "IsNull([进货_数量],0) - ISNULL([销售_数量],0)")
    
End With


Dim fnt As New Font("微软雅黑",16)
CurrentTable.Font = fnt




还是报错,提示:找不到  批号!

--  作者:堕落的后天
--  发布时间:2018/6/27 15:30:00
--  
发现自己一个地方写错了   貌似可以了  谢谢老师