Rss & SiteMap

Foxtable(狐表) http://www.foxtable.com

新一代数据库软件,完美融合Access、Foxpro、Excel、vb.net之优势,人人都能掌握的快速软件开发工具!
共5 条记录, 每页显示 10 条, 页签: [1]
[浏览完整版]

标题:代码执行时间太长

1楼
netfox168 发表于:2012/1/14 18:09:00

某表更新代码如下:

 

DataTables("生产线").DataRows.Clear

Dim f8 As New Filler

f8.SourceTable = DataTables("临时表")

f8.SourceCols = "字段1,字段2, ... ,字段12"

f8.DataTable = DataTables("生产线")

f8.DataCols = "字段1,字段2, ... ,字段12"

f8.Fill()

 

共有1400多行数据,执行了60多秒,时间实在有点长了,不知有何优化方法?

在这段代码之前共有7个表向“临时表”填数,都是零点几秒,不知为何到这就这么长时间。

 

另外在“生产线”表做“重置列”三列,也用了40多秒钟,如果有上万条记录,时间就太长了。

 

[此贴子已经被作者于2012-1-14 18:09:07编辑过]
2楼
don 发表于:2012/1/14 18:27:00
能否優化,關鍵你要清楚交待想實現的目的及上傳測試文件,單憑片言只字,誰知道呢?
3楼
czy 发表于:2012/1/14 18:52:00

1400多行应该是零点几秒的事,这么耗时肯定不是Filler的问题。

执行Filler前先暂停这个表的事件,如确需计算,填充完后再进行计算。

 

4楼
netfox168 发表于:2012/1/14 23:54:00
原因知道了,是在目标表(生产线)有“流水账”(DataColChenged)事件代码,数据填入时自动计算,删除后只用了零点几秒。问题是如何令“流水账”代码在 Fill 代码执行后再执行?因为 Fill 代码是在 MainTableChanged 事件中的,而“流水账”代码是在 DatColChanged 事件中的。如何安排?
5楼
mr725 发表于:2012/1/15 1:00:00

参看:暂停执行事件代码

共5 条记录, 每页显示 10 条, 页签: [1]

Copyright © 2000 - 2018 foxtable.com Tel: 4000-810-820 粤ICP备11091905号

Powered By Dvbbs Version 8.3.0
Processed in .01563 s, 2 queries.