以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 运行速度太慢了,求代码简化和提速方案 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=54845) |
|
-- 作者:SZDVYE -- 发布时间:2014/8/6 1:45:00 -- 运行速度太慢了,求代码简化和提速方案 各位前辈老师,小弟制作了一个操作系统,但是操作起来的速度太慢了,例如,读取10天的数据速度尚可,超过了,速度就慢得要死. 本人是菜鸟级,也知道系统是有些烂,还望各位前辈老师耐心指导. 运行环境:局域网 运行问题:调阅资料和编辑资料运行速度实在太慢,求代码简化. 密码:888
|
|
-- 作者:Bin -- 发布时间:2014/8/6 8:33:00 -- 东西呢? |
|
-- 作者:SZDVYE -- 发布时间:2014/8/6 22:07:00 -- 上传时文件太大没有成功,现在整理后重传了,谢谢 [此贴子已经被作者于2014-8-7 17:52:34编辑过]
|
|
-- 作者:有点甜 -- 发布时间:2014/8/6 22:25:00 -- 项目很大,哪个表,哪个窗口,哪个按钮的操作慢?
别人不可能帮你看完整个项目啊。 |
|
-- 作者:SZDVYE -- 发布时间:2014/8/6 23:17:00 -- 谢谢l老师的意见,情况是这样的: 主表:报关登记表(关联表:报关结算表)菜单:业务管理,将需要的日期填入"开始"按钮和"结束"按钮,选择"加载"
选择日期间隔长,例如1个月的数据,系统就会变得很慢. |
|
-- 作者:菲舍尔 -- 发布时间:2014/8/6 23:57:00 -- 加载的数据越多,加载的速度就越慢,这个是肯定的
|
|
-- 作者:lsy -- 发布时间:2014/8/7 7:49:00 -- 第一,列太多,能不能分拆成几个小表。 第二,DrawCell事件中,好多单元格都要重绘,能不能减少。 第三,一次加载很多行,有没有必要。 第四,多线程加载。加载过程中,不影响干其他事,就不觉得慢了。 |
|
-- 作者:有点甜 -- 发布时间:2014/8/7 9:32:00 -- 看了一下,如果是加载慢的话,有几种原因。
1、其它事件影响了,你要改一下代码
Dim StartDate As Date DataTables("报关登记表").LoadFilter = "[日期] >= #" & StartDate & "# And [日期] <= #" & EndDate & "#" DataTables("报关结算表").LoadFilter = "[日期] >= #" & StartDate & "# And [日期] <= #" & EndDate & "#" DataTables("报关结算表").ResumeRedraw
2、表达式列过多,如果加载量过多的话,重新计算也是很耗时的。建议尽量不要用表达式列了,你看看是否可以用数据列代替表达式列的功能。 |
|
-- 作者:有点甜 -- 发布时间:2014/8/7 9:35:00 -- 再有一个,你的数据较多,你要在access里面给日期列添加一个索引,这样利于查询和比较,不然会很慢的。 |
|
-- 作者:SZDVYE -- 发布时间:2014/8/7 14:52:00 -- 谢谢各位老师给予的指导: 我的不明白地方如下:
[此贴子已经被作者于2014-8-7 14:54:00编辑过]
|