以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 怎么才能汇总选定数据 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=24980) |
|||||
-- 作者:jinzhengbe -- 发布时间:2012/10/28 18:15:00 -- 怎么才能汇总选定数据 如图 发货单 表中的 【已结算】列 = 下面 子表中 所有满足 【结算】列=ture 条件 的【小计】列的总和。
这个用表达公式 可以实现么? 或者用代码应该怎么写? 请各位前辈指点。 此主题相关图片如下:??.png [此贴子已经被作者于2012-10-28 18:16:09编辑过]
|
|||||
-- 作者:布莱克朱 -- 发布时间:2012/10/28 18:26:00 -- 必须用代码. |
|||||
-- 作者:y2287958 -- 发布时间:2012/10/28 20:56:00 -- 不一定非得用代码的 用表达式也可以 请看说明书的现成例子
|
|||||
-- 作者:czy -- 发布时间:2012/10/28 20:58:00 -- 公斤数录入dls表,DataColChanged事件代码
If e.DataCol.name = "结算" |
|||||
-- 作者:jinzhengbe -- 发布时间:2012/10/28 22:42:00 -- 非常感谢 但是有个问题, 发货单表里的数据比实际数据要多出很多。是什么原因?
感觉是在累计子表里的所有数据,而不是 关联行的数据。改怎么改呢?
这个代码是统计关联表里的所有数据, 而不是相关行的数据。有没有办法只统计相关行的数据呢? [此贴子已经被作者于2012-10-30 5:46:09编辑过]
|
|||||
-- 作者:lin_hailun -- 发布时间:2012/10/28 23:39:00 -- 改成这样,加一个条件。 If e.DataCol.name = "结算" Dim dr As DataRow = e.DataRow.GetParentrow("发货单") dr("已结算") = e.DataTable.Compute("sum(小计)","结算 = true And 发货单号 = \'" & e.DataRow("发货单号") & "\'") End If |