以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 请教这短代码哪里出问题了吗,提示已添加了具有相同键的项 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=81874) |
-- 作者:fslfyc -- 发布时间:2016/3/8 10:04:00 -- 请教这短代码哪里出问题了吗,提示已添加了具有相同键的项
Dim d1 As Date Dim d2 As Date d1 = New Date(Year, Month, 1) \'取得该月的第一天 d2 = new Date(Year, Month, Date.DaysInMonth(Year,Month)) \'取得该月的最后一天 Filter = "下单日期 >= \'" & d1 & "\' And 下单日期 <= \'" & d2 & "\'" Dim bd1a As New GroupTableBuilder("统计表1a",DataTables("加工费记录_table1")) Dim dt1a As fxDataSource bd1a.Groups.AddDef("下单日期",DateGroupEnum.Year ,"年") \'根据下单日期分组 bd1a.Groups.AddDef("下单日期",DateGroupEnum.Month ,"月") \'根据下单日期分组 bd1a.Groups.AddDef("下单日期",DateGroupEnum.Day ,"日") \'根据下单日期分组 bd1a.Totals.AddDef("加工单编号",AggregateEnum.Count,"下单_单数") \'对订单数进行统计 bd1a.Totals.AddDef("金额","下单_金额") \'对金额进行统计 dt1a = bd1a.BuildDataSource() Dim bd2a As New GroupTableBuilder("统计表2a",DataTables("加工费记录_table1")) Dim dt2a As fxDataSource bd2a.Filter = "完工日期 is not null" bd2a.Groups.AddDef("完工日期",DateGroupEnum.Year,"年" ) \'根据完工日期分组 bd2a.Groups.AddDef("完工日期",DateGroupEnum.Month,"月" ) \'根据完工日期分组 bd2a.Groups.AddDef("完工日期",DateGroupEnum.Day,"日" ) \'根据完工日期分组 bd2a.Totals.AddDef("加工单编号",AggregateEnum.Count,"完工_单数") \'对订单数进行统计 bd2a.Totals.AddDef("金额","完工_金额") \'对金额进行统计 dt2a = bd2a.BuildDataSource() Dim bd3a As New GroupTableBuilder("统计表3a",DataTables("加工费记录_table1")) Dim dt3a As fxDataSource bd3a.Filter = "完工日期 is null and 加工单编号 is not null and 门市 is not null and 地址 is not null" bd3a.Groups.AddDef("下单日期",DateGroupEnum.Month,"月") \'根据下单日期分组 bd3a.Totals.AddDef("加工单编号",AggregateEnum.Count,"未完工_单数") \'对订单数进行统计 bd3a.Totals.AddDef("金额","未完工_金额") \'对金额进行统计 dt3a = bd3a.BuildDataSource() dt1a.Combine("月",dt2a,"月") dt1a.Combine("月",dt3a,"月") Tables("加工费记录_Table3").DataSource = dt1a \'将统计结果绑定到Table |
-- 作者:大红袍 -- 发布时间:2016/3/8 10:07:00 -- 三个分组都必须是按照 年、月、日 分组,或者是都按照 月 来分组。 |
-- 作者:大红袍 -- 发布时间:2016/3/8 10:08:00 -- 如果是多个关联列,看看
http://www.foxtable.com/help/topics/2392.htm
|
-- 作者:fslfyc -- 发布时间:2016/3/8 10:11:00 -- 你好,我把第三个代码改成相同的年,月,日 分组,提示相同的错误,代码如下 Dim bd3a As New GroupTableBuilder("统计表3a",DataTables("加工费记录_table1")) Dim dt3a As fxDataSource bd3a.Filter = "完工日期 is null and 加工单编号 is not null and 门市 is not null and 地址 is not null" bd3a.Groups.AddDef("下单日期",DateGroupEnum.Year,"年") \'根据下单日期分组 bd3a.Groups.AddDef("下单日期",DateGroupEnum.Month,"月") \'根据下单日期分组 bd3a.Groups.AddDef("下单日期",DateGroupEnum.Day,"日") \'根据下单日期分组 bd3a.Totals.AddDef("加工单编号",AggregateEnum.Count,"未完工_单数") \'对订单数进行统计 bd3a.Totals.AddDef("金额","未完工_金额") \'对金额进行统计 dt3a = bd3a.BuildDataSource() |
-- 作者:fslfyc -- 发布时间:2016/3/8 10:12:00 -- 我就是参照你说的教程写的代码 |
-- 作者:大红袍 -- 发布时间:2016/3/8 10:14:00 -- 试试,报错,就上传具体例子。
Dim d1 As Date
Dim nms As String() = {"年","月","日"} \'指定连接列 |
-- 作者:fslfyc -- 发布时间:2016/3/8 10:16:00 -- \'dt1a.Combine("月",dt2a,"月") \'dt1a.Combine("月",dt3a,"月") 改成下面的代码: Dim nmss As String() = {"年","月","日"} dt1a.Combine(nmss,dt2a,nmss) dt1a.Combine(nmss,dt3a,nmss)
运行成功,太谢谢了,辛苦大红袍老师!
|