Foxtable(狐表)用户栏目专家坐堂 → 代码执行速度慢


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

主题:代码执行速度慢

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


加好友 发短信
等级:二尾狐 帖子:528 积分:5034 威望:0 精华:0 注册:2012/4/6 19:31:00
代码执行速度慢  发帖心情 Post By:2014/4/17 17:47:00 [只看该作者]

 表A与表B关每联,B有做在窗口上的副表上,用

If e.Table.Current Is Nothing Then '如果Current为Nothing
    Return '则返回
    End If
Dim wz As Integer
Dim dr As DataRow
dr = DataTables("业务登记").Find("[序号2] = '" & e.Table.Current("序号") & "'")
If dr IsNot Nothing Then
    wz = Tables("任务查询_table1").FindRow(dr)
    If wz >= 0 Then
        Tables("任务查询_table1").Position = wz
    End If
End If

执行时,效果有时很慢,可否有改善办法,有时要一个一个逐步查,要等好久,有时又一下查到了,不知什么原因?有其它办法没?

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/4/17 17:48:00 [只看该作者]

数据量大的话,这个速度没办法提升.

只能够考虑换一个方式来做.  你说一下你的具体业务需求,也许有更好的方式.

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


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

试试这样,不行的话,就没办法了。可能是数据量大的原因

 

If e.Table.Current Is Nothing Then '如果Current为Nothing  
    Return '则返回
End If
Dim wz As Integer
wz = Tables("业务登记").FindRow("[序号2] = '" & e.Table.Current("序号") & "'", 0, False)
If wz >= 0 Then
    Tables("任务查询_table1").Position = wz
End If


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


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

Find执行速度比较慢,数据量稍大,就体现出来了。

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


加好友 发短信
等级:三尾狐 帖子:760 积分:4714 威望:0 精华:0 注册:2011/12/17 18:37:00
  发帖心情 Post By:2014/4/17 18:03:00 [只看该作者]

做个副本表 筛选下 不要定位试试

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


加好友 发短信
等级:二尾狐 帖子:528 积分:5034 威望:0 精华:0 注册:2012/4/6 19:31:00
  发帖心情 Post By:2014/4/17 23:02:00 [只看该作者]

不行,试了。

 回到顶部