以文本方式查看主题

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

--  作者:意悠心轻
--  发布时间:2016/4/27 23:36:00
--  统计分析表
  我想在按订单统计窗口安选定的时间,按按钮后在table控件中实现excel表中的统计效果,我做了交叉统计的编码,但日期条件不知怎么编写,还有不需生成统计表1,我还没认真学编程基础,无法修正代码,请教应如何编写。

Dim StartDate AS Date

Dim EndDate AS Date

Dim b As New CrossTableBuilder("统计表1",DataTables("冲压车间工资表"))

b.HGroups.AddDef("订单号")

b.HGroups.AddDef("产品名称",DateGroupEnum.None) 

b.HGroups.AddDef("产品名称","工序") 

b.HGroups.AddDef("产品名称","备注")

b.VGroups.AddDef("日期", "日期" >=StartDate And "日期" <=EndDate)

b.Totals.AddDef("数量","数量") 

b.Totals.AddDef("分配金额","分配金额")       

b.Subtotal = True \'生成汇总模式

b.Build \'生成统计表

MainTable = Tables("统计表1") \'打开生成的统计表


[此贴子已经被作者于2016/6/26 15:46:35编辑过]

--  作者:Hyphen
--  发布时间:2016/4/28 9:14:00
--  
Dim StartDate As Date = e.Form.Controls("StartDate").value
Dim EndDate As Date = e.Form.Controls("EndDate").value
Dim b As New CrossTableBuilder("统计表1",DataTables("冲压车间工资表"))
b.HGroups.AddDef("订单号")
b.HGroups.AddDef("产品名称") 
b.HGroups.AddDef("生产工序") 
b.HGroups.AddDef("备注")
b.VGroups.AddDef("日期","{0}月") 
b.Totals.AddDef("数量") 
b.Totals.AddDef("分配金额")    
b.Filter =    "日期 >= #" & StartDate & "# And 日期 <= #" & EndDate & "#"
\'b.Subtotal = True \'生成汇总模式
b.Build() \'生成统计表
\'MainTable = Tables("统计表1")
Dim Table1 As WinForm.Table = e.Form.Controls("Table1")
Table1.Table.datasource =  Tables("统计表1").DataTable \'打开生成的统计表
Dim g As New Subtotalgroup \'定义一个新的分组
g.Aggregate = AggregateEnum.Sum \'统计类型为求和
g.GroupOn = "订单号" \'分组列为客户列
g.TotalOn = "数量_1,分配金额_1" \'对数量和金额进行统计
g.Caption = "{0} 小计" \'设置标题

Table1.Table.SubtotalGroups.Clear() \'清除原有的分组
Table1.Table.SubtotalGroups.Add(g)\'加入刚刚定义的分组
Table1.Table.Subtotal() \'生成汇总模式