以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  错误提示:已经添加相同键的项目  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=33960)

--  作者:zerov
--  发布时间:2013/5/27 22:18:00
--  错误提示:已经添加相同键的项目
多表统计时,如果起始日未添加值时,就会提示“已经添加相同键的项目”的错误,见下图


图片点击可在新窗口打开查看此主题相关图片如下:添加相同键的项目.jpg
图片点击可在新窗口打开查看

代码如下:
Dim sd As WinForm.DateTimePicker = e.Form.Controls("sd")
Dim ed As WinForm.DateTimePicker = e.Form.Controls("ed")
Dim filter As  String
If sd.Value IsNot Nothing Then
    If Filter >"" Then
        Filter = Filter & " And "
    End If
    Filter = Filter & "日期 >= #" & sd.Value & "#"
End If

If ed.Value IsNot Nothing Then
    If Filter >"" Then
        Filter = Filter & " And "
    End If
    Filter = Filter & "日期 <= #" & ed.Value & "#"
End If

Dim bd1 As New GroupTableBuilder("统计表1",DataTables("回款明细"))
Dim dt1 As fxDataSource
bd1.Groups.AddDef("分公司") \'根据型号分组
bd1.Totals.AddDef("金额","回款金额") \'对金额进行统计
bd1.Filter=filter
dt1 = bd1.BuildDataSource()

\'Dim bd2 As New GroupTableBuilder("统计表2",DataTables("摊销应收明细"))
\'Dim dt2  As fxDataSource
\'bd2.Groups.AddDef("分公司") \'根据型号分组
\'bd2.Totals.AddDef("金额","摊销金额") \'对金额进行统计
\'bd2.Filter=filter
\'dt2 = bd2.BuildDataSource()
Dim bd3 As New GroupTableBuilder("统计表3",DataTables("进度应收明细"))
Dim dt3  As fxDataSource
bd3.Groups.AddDef("分公司") \'根据型号分组
bd3.Totals.AddDef("金额","进度应收") \'对金额进行统计
bd3.Filter=filter
dt3 = bd3.BuildDataSource()

Dim bd4 As New GroupTableBuilder("统计表4",DataTables("开票"))
Dim dt4 As fxDataSource
bd4.Groups.AddDef("分公司") \'根据合同编号分组
bd4.Totals.AddDef("金额","开票金额") \'对金额进行统计
dt4 = bd4.BuildDataSource()
\'dt1.Combine("分公司",dt2,"分公司") \'将回款统计数据组合到摊销统计数据
dt1.Combine("分公司",dt3,"分公司") \'将进度应收统计数据组合到回款统计数据
dt1.Combine("分公司",dt4,"分公司") \'将开票统计数据组合到回款统计数据
Tables("综合统计_Table1").DataSource = dt1 \'将统计结果绑定到Table
With DataTables("综合统计_Table1").DataCols  \'用表达式列计算剩余数据
    \'.Add("摊销应收未收",Gettype(Double), "[摊销金额] - [回款金额]")
     .Add("进度应收未收",Gettype(Double), "[进度应收] - [回款金额]")
     .Add("未开票金额",Gettype(Double), "[开票金额] - [回款金额]")
   End With

哪儿出错了?(屏蔽的代码是因为相关数据尚未上传)

--  作者:Bin
--  发布时间:2013/5/28 8:42:00
--  
你发的代码和你的错误无关, 你的错误是字典重复添加值了.
--  作者:泡泡
--  发布时间:2013/5/28 15:00:00
--  

也许是你要组合的几个表都是空行

我也做过类似的多表统计,好像也是这个错误

你试试先判断各子表是否均为空

 

以上建议不一定对,我不太会这种多表统计


--  作者:zerov
--  发布时间:2013/5/28 15:15:00
--  
字典重复添加值,什么意思?没有明白
--  作者:Bin
--  发布时间:2013/5/28 15:18:00
--  
你例子发出来吧. 
--  作者:zerov
--  发布时间:2013/5/29 9:25:00
--  
怎么下载了最新的foxtable2013安装后,就好了。
--  作者:泡泡
--  发布时间:2013/5/29 9:26:00
--  
图片点击可在新窗口打开查看
--  作者:泡泡
--  发布时间:2013/5/29 9:32:00
--  

我本来还挺关注这个问题的

没想到就这么解决了


--  作者:zerov
--  发布时间:2013/5/29 10:51:00
--  
呵呵,我也没有想到这么快就解决了,建议狐爸把种种问题及解决方法也一起贴出来,小白们出问题时可以对号入座了。
--  作者:atmetmicoo
--  发布时间:2013/11/11 12:56:00
--  
我也是这个问题,解决不了,整愁着呢

[此贴子已经被作者于2013-11-11 12:56:26编辑过]