以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [讨论] 请教狐爸一个统计效率方面的问题 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=47827) |
-- 作者:bahamute -- 发布时间:2014/3/18 11:52:00 -- [讨论] 请教狐爸一个统计效率方面的问题 看了“手工编码进行统计”帮助这一节: 我也有一个人员信息统计需求,与帮助类似,但是统计条件较多多, Dim dr As DataRow = e.DataRow Dim dt As Table =Tables("表A") If e.DataCol.Name = "单位" And dr.IsNull("单位") = False Then dr("人数_总数") = dt. Compute("Count(姓名)","[单位] = \'" & dr("单位") & "\'") dr("按性别_男") = dt. Compute("Count(姓名)","[单位] = \'" & dr("单位") & "\' And [性别] =\'男\'") dr("按性别_女") = dt. Compute("Count(姓名)","[单位] = \'" & dr("单位") & "\' And [性别] =\'女\'") dr("按年龄_18至20")= dt. Compute("Count(姓名)","[单位] = \'" & dr("单位") & "\' And [年龄] >= 18 And 年龄 <=20") dr("按年龄_21至25")= dt. Compute("Count(姓名)","[单位] = \'" & dr("单位") & "\' And [年龄] >= 21 And 年龄 <=25")
后续代码省略......... 进入表时,会自动重置统计表的单位列,以刷新数据,但统计较慢。 想请教狐爸,此类统计有无其他途径实现以尽可能提高点效率? [此贴子已经被作者于2014-3-18 11:54:58编辑过]
|
-- 作者:狐狸爸爸 -- 发布时间:2014/3/18 11:54:00 -- 这个没办法,建议不要进入就刷新,单独做个刷新按钮,需要刷新的时候,单击这个按按钮重新统计。 |
-- 作者:bahamute -- 发布时间:2014/3/18 12:00:00 -- 能否在目标表“单位”列数据发生变化后,触发统计表单位列相应行进行刷新? 也就是刷新指定行?
|
-- 作者:bahamute -- 发布时间:2014/3/18 12:06:00 -- 另外能给讲一下RaiseDataColChanged(DataRow)的用法吗? |
-- 作者:don -- 发布时间:2014/3/18 12:17:00 -- 纸上不谈兵,把文件发上来让人测试呀 |
-- 作者:狐狸爸爸 -- 发布时间:2014/3/18 13:01:00 -- 可以看看这个: http://www.foxtable.com/help/topics/1472.htm http://www.foxtable.com/help/topics/2235.htm
|
-- 作者:bahamute -- 发布时间:2014/3/18 15:51:00 -- 数据在共享电脑里,如果好做例子,早就做了,光提问确实费事。 |