以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]表达式运行特别慢  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=194503)

--  作者:zm6096
--  发布时间:2024/12/17 9:24:00
--  [求助]表达式运行特别慢
蓝版主,请问下,下面公式运行没问题,就是速度太慢,大概有1分钟左右。(原数据2万多条)是我哪儿没写对麽



If e.DataCol.Name = "往来单位名称" OrElse e.DataCol.Name = "项目名称" Then 

    Dim d2 As Date = CDate(Forms("账龄分析").Controls("DateTimePicker1").Value)

    e.DataRow("备抵前应收账款") = DataTables("凭证明细表").Compute("Sum(借方金额)", "一级科目编码 = \'1122\' And  [项目名称] = \'" & e.DataRow("项目名称") & "\' And  [往来单位名称] = \'" & e.DataRow("往来单位名称") & "\'  And  [总账日期]<= #" & d2 & "#   ")

End If

--  作者:有点蓝
--  发布时间:2024/12/17 9:42:00
--  
如果是重置列,2W行也差不多这个时间的。

建议是不要动不动就重置列。如果确实需要经常统计计算几万行的数据,可以使用sql处理吧

--  作者:zm6096
--  发布时间:2024/12/17 10:05:00
--  
好的,感谢哈


--  作者:zm6096
--  发布时间:2024/12/17 16:39:00
--  
蓝版主,在问下,如果我把时间条件删除,数据也是很快就出来,请问下这个是什么原因呢。

加了时间条件,就很慢很慢

[此贴子已经被作者于2024/12/17 16:39:14编辑过]

--  作者:有点蓝
--  发布时间:2024/12/17 16:48:00
--  
这个要测试过才知道。方便做个例子发上来看看
--  作者:zm6096
--  发布时间:2024/12/17 17:30:00
--  
我整复杂了,应该多看看论坛
我只是计算账龄,可能是我的代码整得太复杂了。
http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=114373&skin=0
参考了这个页面,整好了,感谢哈
[此贴子已经被作者于2024/12/17 17:30:47编辑过]