以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [讨论] 请教狐爸一个统计效率方面的问题  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=47827)

--  作者:bahamute
--  发布时间:2014/3/18 11:52:00
--  [讨论] 请教狐爸一个统计效率方面的问题
看了“手工编码进行统计”帮助这一节:


此主题相关图片如下:剪辑_2666.jpg
按此在新窗口浏览图片

我也有一个人员信息统计需求,与帮助类似,但是统计条件较多多,

此主题相关图片如下:20142282247992993.jpg
按此在新窗口浏览图片

 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
--  
数据在共享电脑里,如果好做例子,早就做了,光提问确实费事。