以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]跨表统计某列的和 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=123351) |
-- 作者:wendude -- 发布时间:2018/8/13 8:14:00 -- [求助]跨表统计某列的和 如附件: 1.在增效奖励余额表中的【增效工资投入额】的列中调取 表 增效投入明细表 中当月部门的增效总额合计。 2.想实现表达式 奖励余额= 考勤扣款返款 +内部承包费-阿米巴优秀配套奖励资金1,其中如何设置考勤扣款返款、内部承包费、阿米巴优秀配套奖励资金1没有填写时计算时默认为0值。 请问上述问题代码如何写,如何实现,谢谢
[此贴子已经被作者于2018/8/13 9:09:16编辑过]
|
-- 作者:有点甜 -- 发布时间:2018/8/13 8:53:00 -- 1、附件请发上来;
2、跨表统计参考 http://www.foxtable.com/webhelp/scr/1472.htm
3、表达式列不计算? http://www.foxtable.com/webhelp/scr/0602.htm
|
-- 作者:wendude -- 发布时间:2018/8/13 10:03:00 -- [求助] 看了提示,已经完成上述问题,还有就是如何筛选出截止目前某一年度最大的月份?谢谢 |
-- 作者:wendude -- 发布时间:2018/8/13 11:21:00 -- 请问怎么实现调用最大的月份数值? |
-- 作者:有点甜 -- 发布时间:2018/8/13 11:41:00 -- 以下是引用wendude在2018/8/13 10:03:00的发言:
看了提示,已经完成上述问题,还有就是如何筛选出截止目前某一年度最大的月份?谢谢
你需要这个? http://www.foxtable.com/webhelp/scr/2720.htm
|
-- 作者:wendude -- 发布时间:2018/8/13 12:01:00 -- 不是,我就是想调用【月份】列中的最大值,怎么实现 |
-- 作者:wendude -- 发布时间:2018/8/13 12:10:00 -- Select Case e.DataCol.Name Case "部门","年份" Dim dr As DataRow = e.DataRow Dim pr As DataRow If dr.IsNull("部门") OrElse dr.IsNull("年份") Then dr("本年累计余额") = Nothing dr("累计总余额") = Nothing Else Dim filter As String filter = "部门 = \'" & dr("部门") & "\' And 年份 = \'" & dr("年份") & "\'" pr = DataTables("部门余额明细表").Find(filter) If pr IsNot Nothing Then \'dr("截止年月") = pr("月份") dr("本年累计余额") = DataTables("部门余额明细表").Compute("Sum(月余额)", filter) dr("累计总余额") = DataTables("部门余额明细表").Compute("Sum(总余额)", filter) dr("截止年月") = DataTables("部门余额明细表").Compute("Max(" & pr("月份") & ")") \'dr("截止年月") = dt.Compute("Max(" & pr("月份") & ")") End If End If End Select 运行这个代码提示: .NET Framework 版本:2.0.50727.8789 Foxtable 版本:2017.10.26.1 错误所在事件:表,部门总余额累计汇总表,DataColChanged 详细错误信息: 调用的目标发生了异常。 聚合参数中的语法错误: 需要具有可能的“Child”限定符的单个列参数。 错误代码在: dr("截止年月") = DataTables("部门余额明细表").Compute("Max(" & pr("月份") & ")") |
-- 作者:wendude -- 发布时间:2018/8/13 12:10:00 -- 如上 |
-- 作者:有点甜 -- 发布时间:2018/8/13 12:22:00 -- 这个意思?
dr("截止年月") = DataTables("部门余额明细表").Compute("Max(月份)")
截图说明表结构,或者做个例子发上来测试。 |
-- 作者:wendude -- 发布时间:2018/8/13 12:45:00 -- 此主题相关图片如下:部门余额明细表.png 想实现的功能: 在表部门总余额累计汇总表中,当输入部门、年份后,其截止年月的列自动调用部门余额明细表中当年的最后月份。 怎么调用,就是调用一下另一张表的最后月份。 我写的代码: Select Case e.DataCol.Name Case "部门","年份" Dim dr As DataRow = e.DataRow Dim pr As DataRow If dr.IsNull("部门") OrElse dr.IsNull("年份") Then dr("本年累计余额") = Nothing dr("累计总余额") = Nothing Else Dim filter As String filter = "部门 = \'" & dr("部门") & "\' And 年份 = \'" & dr("年份") & "\'" pr = DataTables("部门余额明细表").Find(filter) If pr IsNot Nothing Then \'dr("截止年月") = pr("月份") dr("本年累计余额") = DataTables("部门余额明细表").Compute("Sum(月余额)", filter) dr("累计总余额") = DataTables("部门余额明细表").Compute("Sum(总余额)", filter) dr("截止年月") = DataTables("部门余额明细表").Compute("Max(" & pr("月份") & ")") \'dr("截止年月") = dt.Compute("Max(" & pr("月份") & ")") End If End If End Select 报错: .NET Framework 版本:2.0.50727.8789 Foxtable 版本:2017.10.26.1 错误所在事件:表,部门总余额累计汇总表,DataColChanged 详细错误信息: 调用的目标发生了异常。 聚合参数中的语法错误: 需要具有可能的“Child”限定符的单个列参数。 [此贴子已经被作者于2018/8/13 12:46:49编辑过]
|