以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]关于AfterSelRangeChange事件 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=44547) |
||||
-- 作者:ifastudy -- 发布时间:2014/1/3 13:10:00 -- [求助]关于AfterSelRangeChange事件 我想在一个窗口表Tl_Target的事件AfterSelRangeChange中实现统计选择区域的数据,代码如下: AfterSelRange事件: Dim Sum,Count,Average As Double With e.NewRange Sum = e.Table.Aggregate(AggregateEnum.Sum, .TopRow, .LeftCol, .BottomRow, .RightCol) Count= e.Table.Aggregate(AggregateEnum.Count, .TopRow, .LeftCol, .BottomRow, .RightCol) Average = e.Table.Aggregate(AggregateEnum.Average , .TopRow, .LeftCol, .BottomRow, .RightCol) End With StatusBar.Message3 = "计数:" & Count & " 累计:" & Sum & " 平均:" & Average 选择区域后,可以正确显示统计值,但是有一个问题:选择这个表的一个区域后,如果更新表结构会发生错误,提示这个表不存在名为“”列。 直接上例子。 打开窗口1后,查询一次。然后选择第二三列中的任何一个格子,再次查询都会报错。
[此贴子已经被作者于2014-1-3 13:35:37编辑过]
|
||||
-- 作者:Bin -- 发布时间:2014/1/3 14:15:00 -- .
|
||||
-- 作者:ifastudy -- 发布时间:2014/1/3 15:10:00 -- 太感谢了,总算解决了。 |
||||
-- 作者:ifastudy -- 发布时间:2014/1/12 20:43:00 -- 代码写错了。应该写成: Dim Sum,Count,Average As Double With CurrentTable \'当表结构发生变化时,写成With e.NewRange会报错,原因不详! Sum = .Aggregate(AggregateEnum.Sum, .TopRow, .LeftCol, .BottomRow, .RightCol) Count= .Aggregate(AggregateEnum.Count, .TopRow, .LeftCol, .BottomRow, .RightCol) Average = .Aggregate(AggregateEnum.Average , .TopRow, .LeftCol, .BottomRow, .RightCol) End With StatusBar.Message3 = "计数:" & Count & " 累计:" & Sum & " 平均:" & Average [此贴子已经被作者于2014-1-12 20:43:59编辑过]
|