以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 计算的问题 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=43731) |
-- 作者:blackzhu -- 发布时间:2013/12/13 17:13:00 -- 计算的问题 Select Case e.DataCol.Name Case "一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月","累计" Dim dr As DataRow dr = e.DataTable.Find("项目=\'4.经济数据\' And 统计类型=\'7.用水数据(动力科)\' And 数据统计项目=\'用水总计\'") If dr IsNot Nothing Then dr(e.DataCol.Name) = DataTables("统计表100").Compute("Sum(" & e.DataCol.Name & ")","报表名称=\'用水数据\' And 项目=\'28.用水总计\' And 数据统计项目=\'74.用水总计\'") End If End Select 像这样的计算 我 大约有 70-80个 计算 , 我现在用表事件做,发现 计算的速度有点慢 需要两三分钟 . 怎么做快一些 ,必须认项统计和计算.
|
-- 作者:狐狸爸爸 -- 发布时间:2013/12/13 17:32:00 -- 这个代码似乎有点不符合常规,产寻的条件和统计的条件为啥都是固定的? 如果这样,单独做个统计按钮集中统计吧,编码或者用统计工具统计都行。 |
-- 作者:jianjingmaoyi -- 发布时间:2013/12/13 17:50:00 -- 这个是找关键的数据进行统计 Select Case e.DataCol.Name Case "统计项目" Dim lx() As String { "一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月","累计"} Dim dr As DataRow dr = e.DataTable.Find("项目=\'4.经济数据\' And 统计类型=\'7.用水数据(动力科)\' And 数据统计项目=\'用水总计\'") If dr IsNot Nothing Then For i As Integer = 0 To lx.Length -1 dr(lx(i)) = DataTables("统计表100").Compute("Sum(" & lx(i) & ")","报表名称=\'用水数据\' And 项目=\'28.用水总计\' And 数据统计项目=\'74.用水总计\'") Next End If End Select 如果我触动一个列 速度要不要提升些? |
-- 作者:jianjingmaoyi -- 发布时间:2013/12/13 17:55:00 -- 老大 你这个说法 就是说表事件执行的计算要比按钮执行来的慢些 对不? |
-- 作者:jianjingmaoyi -- 发布时间:2013/12/13 18:25:00 -- 改成按钮计算 速度快了不是一点点 |