以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  同一表,不同的统计统计的组合  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=94655)

--  作者:lk15502
--  发布时间:2016/12/29 7:48:00
--  同一表,不同的统计统计的组合
对同一表统计,设置了不同的统计统计,其他都一样,怎么把它组合起来,显示,请教老师:
Dim dt1 As WinForm.DateTimePicker = e.Form.Controls("DateTimePicker12")
Dim g As New GroupTableBuilder("统计表1", DataTables("染色生产表"))
g.Groups.AddDef("客户")
g.Groups.AddDef("颜色")
g.Groups.AddDef("品名大类")
g.Groups.AddDef("缸号")
g.Totals.AddDef("重量")
g.Totals.AddDef("匹数")
g.VerticalTotal = True
g.FromServer = True
g.filter =  "染缸完成日期 = \'" & dt1.value & "\' and 染机机型 in (\'高温缸\',\'溢流缸\') and 缸号类型 <> \'回修\'"
g.Build()
Tables(e.Form.Name & "_Table6").DataSource  = g.Builddatasource()
Tables(e.Form.Name & "_Table6").DataTable.DataCols.Add("染缸完成日期",Gettype(String))
Tables(e.Form.Name & "_Table6").DataTable.ReplaceFor("染缸完成日期",format(dt1.value,"yyyy-MM-dd"))
Tables(e.Form.Name & "_Table6").AutoSizeCols
\'----------------------------------------------------------------------
Dim dt1 As WinForm.DateTimePicker = e.Form.Controls("DateTimePicker12")
Dim g As New GroupTableBuilder("统计表1", DataTables("染色生产表"))
g.Groups.AddDef("客户")
g.Groups.AddDef("颜色")
g.Groups.AddDef("品名大类")
g.Groups.AddDef("缸号")
g.Totals.AddDef("重量")
g.Totals.AddDef("匹数")
g.VerticalTotal = True
g.FromServer = True
g.filter =  "染缸完成日期 = \'" & dt1.value & "\' and 染机机型 = \'气流缸\' and 缸号类型 <> \'回修\'"
g.Build()
Tables(e.Form.Name & "_Table6").DataSource  = g.Builddatasource()
Tables(e.Form.Name & "_Table6").DataTable.DataCols.Add("染缸完成日期",Gettype(String))
Tables(e.Form.Name & "_Table6").DataTable.ReplaceFor("染缸完成日期",format(dt1.value,"yyyy-MM-dd"))
Tables(e.Form.Name & "_Table6").AutoSizeCols
\'---------------------------------
Dim dt1 As WinForm.DateTimePicker = e.Form.Controls("DateTimePicker12")
Dim g As New GroupTableBuilder("统计表1", DataTables("染色生产表"))
g.Groups.AddDef("客户")
g.Groups.AddDef("颜色")
g.Groups.AddDef("品名大类")
g.Groups.AddDef("缸号")
g.Totals.AddDef("重量")
g.Totals.AddDef("匹数")
g.VerticalTotal = True
g.FromServer = True
g.filter =  "染缸完成日期 = \'" & dt1.value & "\' and 缸号类型 <> \'回修\'"
g.Build()
Tables(e.Form.Name & "_Table6").DataSource  = g.Builddatasource()
Tables(e.Form.Name & "_Table6").DataTable.DataCols.Add("染缸完成日期",Gettype(String))
Tables(e.Form.Name & "_Table6").DataTable.ReplaceFor("染缸完成日期",format(dt1.value,"yyyy-MM-dd"))
Tables(e.Form.Name & "_Table6").AutoSizeCols


--  作者:lk15502
--  发布时间:2016/12/29 7:51:00
--  
g.filter =  "染缸完成日期 = \'" & dt1.value & "\' and 缸号类型 <> \'回修\'"
最后的统计应该是:缸号类型 = ‘回修’

--  作者:有点蓝
--  发布时间:2016/12/29 8:41:00
--  
那就使用一个统计直接设置这个条件不就行了

g.filter =  "染缸完成日期 = \'" & dt1.value & "\' and (缸号类型 = \'回修\' or (染机机型 in (\'高温缸\',\'溢流缸\',\'气流缸\') and 缸号类型 <> \'回修\')"

--  作者:lk15502
--  发布时间:2016/12/29 8:59:00
--  
老师,这样写好像有问题,出来的统计表只有染缸完成日期一列?
--  作者:有点色
--  发布时间:2016/12/29 9:03:00
--  
 3楼的条件不会有问题的。贴出你写的代码,或者上传实例。
--  作者:有点色
--  发布时间:2016/12/29 9:05:00
--  

 如果要组合不同的表,也可以这样做

 

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

 


--  作者:有点蓝
--  发布时间:2016/12/29 9:06:00
--  
少一个括号

g.filter =  "染缸完成日期 = \'" & dt1.value & "\' and (缸号类型 = \'回修\' or (染机机型 in (\'高温缸\',\'溢流缸\',\'气流缸\') and 缸号类型 <> \'回修\'))"

--  作者:lk15502
--  发布时间:2016/12/29 9:07:00
--  
是少了括号。刚刚发现,谢谢!
--  作者:lk15502
--  发布时间:2016/12/29 9:14:00
--  
老师,这样是达到目的了,但是,缸号类型 = ‘回修’;和染机机型 = ‘气流缸’,都混在其他的数据中,能不能让这些数据放在最后?
--  作者:有点色
--  发布时间:2016/12/29 9:24:00
--  
以下是引用lk15502在2016/12/29 9:14:00的发言:
老师,这样是达到目的了,但是,缸号类型 = ‘回修’;和染机机型 = ‘气流缸’,都混在其他的数据中,能不能让这些数据放在最后?

 

用6楼的方式,分别统计,最后合并即可。