Foxtable(狐表)用户栏目专家坐堂 → 运行速度太慢了,求代码简化和提速方案


  共有4506人关注过本帖树形打印复制链接

主题:运行速度太慢了,求代码简化和提速方案

帅哥哟,离线,有人找我吗?
有点甜
  11楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/8/7 15:09:00 [只看该作者]

3、建立索引参考,建立索引以后,通过日期加载数据就不会那么慢了。

 

http://jingyan.baidu.com/article/a681b0dedf395f3b18434605.html

 


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  12楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/8/7 15:12:00 [只看该作者]

 个人感觉,就不要大改了。

 

1、你弄好索引以后,看加载速度是否有提升;

 

2、注释掉drawcell看速度提升多少;

 

3、去掉表达式看速度提升多少;

 

用下面的代码加载数据,如果速度还可以接受的话,就不要大改了。

 

Dim StartDate As Date
Dim EndDate As Date
With RibbonTabs("业务管理")("报关登记查询")("时间筛选")
    StartDate = .Items("StartDate").Value
End With
With RibbonTabs("业务管理")("报关登记查询")
    EndDate = .Items("EndDate").Value
End With
SystemReady = False
DataTables("报关登记表").StopRedraw
DataTables("报关结算表").StopRedraw

DataTables("报关登记表").LoadFilter = "[日期] >= #" & StartDate & "# And [日期] <= #" & EndDate & "#"
DataTables("报关登记表").Load()

DataTables("报关结算表").LoadFilter = "[日期] >= #" & StartDate & "# And [日期] <= #" & EndDate & "#"
DataTables("报关结算表").Load()

DataTables("报关结算表").ResumeRedraw
DataTables("报关登记表").ResumeRedraw
SystemReady = True


 回到顶部
帅哥哟,离线,有人找我吗?
lsy
  13楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:5246 积分:33163 威望:0 精华:8 注册:2013/1/17 21:28:00
  发帖心情 Post By:2014/8/7 19:18:00 [只看该作者]

如果没有"报关登记表"和"报关结算表"的关联,速度就非常快。

看来关联表加载,对加载速度的影响很大。


 回到顶部
帅哥哟,离线,有人找我吗?
SZDVYE
  14楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:213 积分:2228 威望:0 精华:0 注册:2012/2/3 14:14:00
  发帖心情 Post By:2014/8/7 19:32:00 [只看该作者]

谢谢两位老师指导.
我明白了,因为关联表在一组工作人员是可以不加载的,我想到一个方法,就是增加一个按钮,选择是否加载关联表.请教老师能指导一下如何实现吗?或者给我样式,谢谢!

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  15楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/8/7 19:35:00 [只看该作者]

以下是引用SZDVYE在2014-8-7 19:32:00的发言:
谢谢两位老师指导.
我明白了,因为关联表在一组工作人员是可以不加载的,我想到一个方法,就是增加一个按钮,选择是否加载关联表.请教老师能指导一下如何实现吗?或者给我样式,谢谢!

 

不运行这段代码,就不加载关联表了。

 

DataTables("报关结算表").LoadFilter = "[日期] >= #" & StartDate & "# And [日期] <= #" & EndDate & "#"
DataTables("报关结算表").Load()


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  16楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/8/7 19:36:00 [只看该作者]

 关键还是,你的表达式问题,尽量不要用表达式了。

 回到顶部
帅哥哟,离线,有人找我吗?
SZDVYE
  17楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:213 积分:2228 威望:0 精华:0 注册:2012/2/3 14:14:00
  发帖心情 Post By:2014/8/8 9:20:00 [只看该作者]

明白


 回到顶部
总数 17 上一页 1 2