以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 跨表统计如何满足两列条件 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=139714) |
||||||||||||||||||||
-- 作者:Jaime -- 发布时间:2019/8/20 5:54:00 -- 跨表统计如何满足两列条件 老师好!以下代码是http://www.foxtable.com/webhelp/topics/1472.htm 跨表统计的自动更新示例。 是在统计表内自动更新订单表的数量和金额 但代码只是根据“产品”一列统计,如果要同时满足统计“产品”和“型号”两列(如以下示例统计表格),请问如何改代码? 我是小白,试着改了很多次没成功,请老师帮帮我,谢谢!
统计表的DataColChanged事件代码设置为: If e.DataCol.Name = "产品" Then 订单表的DataColChanged事件代码设置为: Select Case e.DataCol.Name |
||||||||||||||||||||
-- 作者:y2287958 -- 发布时间:2019/8/20 7:51:00 -- Select Case e.DataCol.Name Case "产品","型号" Dim Filter As String = "[产品] = \'" & e.NewValue & "\' and [型号] = \'" & e.DataRow("型号") & "\'" e.DataRow("数量") = DataTables("订单").Compute("Sum(数量)", Filter) e.DataRow("金额") = DataTables("订单").Compute("Sum(金额)", Filter) End Select [此贴子已经被作者于2019/8/20 7:52:34编辑过]
|
||||||||||||||||||||
-- 作者:有点蓝 -- 发布时间:2019/8/20 9:06:00 --
|
||||||||||||||||||||
-- 作者:Jaime -- 发布时间:2019/8/20 9:14:00 -- 谢谢蓝老师! 根据第一段修改的代码测试了,可以计算统计但需要手动重置列才更新数据 原示例第二段代码是自动重置让自动更新数据的,请问这个怎么按照“产品”“型号”两列条件改? 订单表的DataColChanged事件代码设置为: Select Case e.DataCol.Name |
||||||||||||||||||||
-- 作者:有点蓝 -- 发布时间:2019/8/20 9:31:00 -- 旧数据肯定都要重置一次列。 第二段代码不需要做任何更改
|