Foxtable(狐表)用户栏目专家坐堂 → 请教这短代码哪里出问题了吗,提示已添加了具有相同键的项


  共有2461人关注过本帖树形打印复制链接

主题:请教这短代码哪里出问题了吗,提示已添加了具有相同键的项

帅哥哟,离线,有人找我吗?
fslfyc
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:135 积分:1751 威望:0 精华:0 注册:2013/12/2 12:01:00
请教这短代码哪里出问题了吗,提示已添加了具有相同键的项  发帖心情 Post By: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


 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/3/8 10:07:00 [只看该作者]

三个分组都必须是按照 年、月、日 分组,或者是都按照 月 来分组。

 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/3/8 10:08:00 [只看该作者]

如果是多个关联列,看看

 

http://www.foxtable.com/help/topics/2392.htm

 

 


 回到顶部
帅哥哟,离线,有人找我吗?
fslfyc
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:135 积分:1751 威望:0 精华:0 注册:2013/12/2 12:01:00
  发帖心情 Post By: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
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:135 积分:1751 威望:0 精华:0 注册:2013/12/2 12:01:00
  发帖心情 Post By:2016/3/8 10:12:00 [只看该作者]

我就是参照你说的教程写的代码

 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/3/8 10:14: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.Year,"年") '根据下单日期分组
bd3a.Groups.AddDef("下单日期",DateGroupEnum.Month,"月") '根据下单日期分组
bd3a.Groups.AddDef("下单日期",DateGroupEnum.Day,"日") '根据下单日期分组
bd3a.Totals.AddDef("加工单编号",AggregateEnum.Count,"未完工_单数") '对订单数进行统计
bd3a.Totals.AddDef("金额","未完工_金额") '对金额进行统计
dt3a = bd3a.BuildDataSource()

Dim  nms As String() = {"年","月","日"}  '指定连接列
dt1a.Combine(nms ,dt2a,nms )
dt1a.Combine(nms ,dt3a,nms )
Tables("加工费记录_Table3").DataSource = dt1a '将统计结果绑定到Table


 回到顶部
帅哥哟,离线,有人找我吗?
fslfyc
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:135 积分:1751 威望:0 精华:0 注册:2013/12/2 12:01:00
  发帖心情 Post By: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)
    运行成功,太谢谢了,辛苦大红袍老师!


 回到顶部