以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]:出错:已添加了具有相同键的项 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=172830) |
||||
-- 作者:明天的灵 -- 发布时间:2021/11/2 18:15:00 -- [求助]:出错:已添加了具有相同键的项 有一个组合统计上月每人每日产量的计算,一样的代码,数据截止2021.10.13可以正确统计出来,而换成10月份整个月数据后,统计出错: 已添加了具有相同键的项. 例子中,数据分别放在每日工作量,每日工作量完整这二张表中 统计代码如下: \'上个月筛选 Dim y As Integer = Date.Today.Year Dim m As Integer = Date.Today.Month Dim dt1 As New Date(y, m, 1) dt1 = dt1.Addmonths(-1) y = dt1.Year m = Dt1.Month Dim dt2 As New Date(y, m, Date.DaysInMonth(y, m)) \'获取上个月的最后一天 Dim Filter As String Filter = "操作日期 >= #" & dt1 & "# And 操作日期 <= #" & dt2 & "#" Dim bd1 As New CrossTableBuilder("工人计件月统计表", DataTables("每日工作量完整")) \'交叉统计 Dim data1 As fxDataSource bd1.HGroups.AddDef("姓名") bd1.VGroups.AddDef("操作日期", DateGroupEnum.Day, "{0}日") bd1.Totals.AddDef("实际产量", "产量") bd1.Filter = Filter \'数据筛选 bd1.HorizontalTotal = True \'水平合计 bd1.VerticalTotal = True \'垂直合计 data1 = bd1.BuildDataSource() Dim bd2 As New GroupTableBuilder("统计表1", DataTables("每日工作量完整")) \'组合统计 Dim data2 As fxDataSource bd2.Groups.AddDef("姓名") bd2.Totals.AddDef("计件工资", "工资") bd2.Filter = Filter bd2.VerticalTotal = True data2 = bd2.BuildDataSource() data1.Combine("姓名",data2,"姓名") \'将工资数据组合到工人计件统计表 data1.Show("工人计件月统计表") \'显示统计结果 MainTable = Tables("工人计件月统计表") For Each c As Col In CurrentTable.Cols c.Width = "60" Next
|
||||
-- 作者:有点蓝 -- 发布时间:2021/11/2 20:14:00 -- 1楼例子我测试没有问题。更新Foxtable到最新版试试 |
||||
-- 作者:明天的灵 -- 发布时间:2021/11/2 20:33:00 -- 窗口中有二个按钮,需要点第二,第二个按钮出错。代码一样,数据表指向不同。 [此贴子已经被作者于2021/11/2 20:33:50编辑过]
|
||||
-- 作者:有点蓝 -- 发布时间:2021/11/2 20:52:00 -- 2个按钮都试了没有问题 |
||||
-- 作者:明天的灵 -- 发布时间:2021/11/2 21:31:00 -- 这个出错还与版本有关。我自己是使用2018开发版,这段程序已用了近2年,是录入2021.10.14数据后出错了。 论坛上传例子是使用了2020测试版,使用2021.10.14后数据也出错。 刚才使用了最新版(2021)测试版去试,没有出错,能给出正确统计数据。 |
||||
-- 作者:有点蓝 -- 发布时间:2021/11/2 22:15:00 -- 嗯,新版本解决了许多bug |