以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 求教累计值问题 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=5760) |
-- 作者:czy -- 发布时间:2010/1/11 0:29:00 -- Dim dt As DataTable = DataTables("表A") For Each dr As DataRow In dt.DataRows dr("累计产蛋量") = Math.Round(dt.Compute("Sum(产蛋率)","[批次] = \'" & dr("批次") & "\' And [日期] <= #" & dr("日期") & "#"),3) Next |
-- 作者:czy -- 发布时间:2010/1/11 21:35:00 -- 2楼的代码本来就是窗口按钮的代码。 |
-- 作者:czy -- 发布时间:2010/1/11 21:43:00 -- 以下是引用liuruihua在2010-1-11 13:59:00的发言:
C版,上面的代码在数据量多时近乎呈死机现象,不得不强行关闭。如果不想通过专门的一列来统计“累计产蛋量”,只要在窗口统计中能实现这样的功能即可,但不知代码如何写如: [此贴子已经被作者于2010-1-11 19:38:14编辑过]
|
-- 作者:czy -- 发布时间:2010/1/11 23:57:00 -- 你的版本不对吧。 |
-- 作者:yangming -- 发布时间:2010/1/12 16:36:00 -- 是否有空值? |
-- 作者:yangming -- 发布时间:2010/1/12 17:33:00 -- 你试试,如果没空值是否可以 |
-- 作者:czy -- 发布时间:2010/1/12 17:58:00 -- 以下是引用liuruihua在2010-1-12 16:58:00的发言:
yang版,不管有没有空值,由 GroupTableBuilder改成 SQLGroupTableBuilder就不行,麻烦帮看看如何解决。如定义成: Dim b As New SQLGroupTableBuilder("统计表1","表A") 就不行。
|
-- 作者:czy -- 发布时间:2010/1/12 18:12:00 -- 还好测试了一下,不然真冤枉了老六。 你的产蛋率为表达式列,改成数据列即可。 Dim b As New SQLGroupTableBuilder("统计表1","表A") b.Groups.AddDef("批次") b.Groups.AddDef("日期", DateGroupEnum.Year, "年") b.Groups.AddDef("日期", "月") b.Groups.AddDef("日期", DateGroupEnum.Day, "日") b.Totals.AddDef("产蛋率",True) b.TableVisible = false Tables("窗口1_Table1").DataSource = b.BuildDataSource |
-- 作者:czy -- 发布时间:2010/1/12 20:49:00 -- Dim b As New SQLGroupTableBuilder("统计表1","表A") b.Groups.AddDef("批次") b.Groups.AddDef("日期", DateGroupEnum.Year, "年") b.Groups.AddDef("日期", "月") b.Groups.AddDef("日期", DateGroupEnum.Day, "日") b.Totals.AddExp("产蛋率","([合格蛋] + [破蛋]) / [存栏母鸡]",True) b.TableVisible = false Tables("窗口1_Table1").DataSource = b.BuildDataSource |
-- 作者:mr725 -- 发布时间:2010/1/13 0:24:00 -- 一个批次一个批次的来统计呀:::::::::: Dim b As New SQLGroupTableBuilder("统计表1","表A") b.Groups.AddDef("批次") b.Groups.AddDef("日期", DateGroupEnum.Year, "年") b.Groups.AddDef("日期", "月") b.Groups.AddDef("日期", DateGroupEnum.Day, "日") b.Totals.AddExp("产蛋率","([合格蛋] + [破蛋]) / [存栏母鸡]",True) b.Filter = "[批次] = \'20081022\'" b.TableVisible = false Tables("窗口1_Table1").DataSource = b.BuildDataSource |