设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 1304|回复: 4
打印 上一主题 下一主题

[其它] 数据库前端速度问题

[复制链接]
跳转到指定楼层
1#
发表于 2005-12-28 22:41:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
以下引用不知名网友贴子:

数据库拆分的优点和必要性想必各位都明白,一旦把后端库放到了局域网上(无论对等网、局域网),前端运行速度将大为减缓,特别是在前端修改查询、窗体更为缓慢,这种情况在论坛中经常提及,但始终不能找到满意的答案。

前段时间,无意中发现了网友发布的相关帖子,原文如下:

问:我的单位已连局域网,有一台SERVER2000服务器,有四台WIN98工作站。共同使用ACCESS调用服务器上的库文件SERVER.MDB。

现在的解决方法是在服务器上建一共享目录存共享库文件SERVER.MDB

工作站上用链接表对此相连,但是总觉得两人以上运行时速度太慢。

请问是不是有更好的方法?

答:其实不慢,只是需要技巧

DimcnAsConnection

DimrsAsNewADODB.Recordset

DimsqlAsString

Setcn=CurrentProject.Connection

sql="select*from1"

rs.Opensql,cn,3,3,1

你的软件最好有个主控面板,一打开软件它就打开,关闭软件它才关闭。在后台数据库文件里建一个只有一个字段的空表,名为1(其它名也可以),然后把上面的代码放在主控面板的OPEN事件里。

这里面用到的小技巧就是:打开了一个空表,但没关闭它,这样后台数据库就一直在打开状态(你可以看到后台数据库会生成一个LDB文件),你要操作其它表的时候就不用频繁地打开、关闭后台数据库,这样程序运行起来可以提升级几倍的速度,试试看吧。

其中谈到,在前端数据库中打开一个链接自后端的表,让起一直开着,“这样程序运行起来可以提升级几倍的速度”,讲的的确有道理,但是,我看不懂代码的意思,照本宣科也不行,只得束之高阁.....遗憾!!

前几天下载了一个后端监测软件,可以看到有谁正在使用后端文件,虽然用处不大,但却带来意外收获,运行监测软件后,在前端编辑和修改查询、窗体时,速度大为提高,为什么呢?几经分析和实践,终于找到一种简便的方法来达到提高运行速度的目的!!不敢独享,在此提供给各位需要的朋友,以解燃眉之急。

1、在后端创建一个只有一个字段的表。不要输入任何数据。

2、链接到前端数据库中。

3、在前端中建立该表的窗体,任何形式都行,越简单越好。

4、编写以隐藏方式打开该窗体的代码或宏命令。

5、在切换面板的打开事件中运行打开命令,这样每当数据库打开,自然就会打开该窗体,直到关闭数据库为止。

这样一来就达到了“不用频繁地打开、关闭后台数据库”的目的,速度自然提高许多。

上面提到的代码,想来肯定有用,为什么没有效果呢?如用代码以隐藏的方式直接打开表,岂不更好,还可以省掉一个窗体,还望VBA高手解答。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2005-12-28 23:05:00 | 只看该作者
受益了,谢谢!
3#
发表于 2008-2-29 10:22:34 | 只看该作者

数据库前端速度问题

请教、4、编写以隐藏方式打开该窗体的代码或宏命令,是怎样的写的,能否提供一下,

我现在所使用的ACCESS,是使用启动窗体做为操作平台,没有使用切换面,能否在启动的窗体记事中运行打开命令呢。另外,我的共享ACCESS中的ldb文件只要有一台电脑打开系统,都会出现。不知是不是以是打开的。
4#
发表于 2008-2-29 13:40:49 | 只看该作者
很早以前在论坛就有人叫我们如此做,其实很简单,不用写代码;

后端建一空的表,前端建一只有一控件的窗体连接,打开前端时一直打开这个窗体,如果不想看到它就把它隐藏,这样即可!

但如果很多人用,要转换连接另一数据库,好慢!
5#
发表于 2008-2-29 15:23:16 | 只看该作者

受益了,谢谢!

受益了,谢谢!
受益了,谢谢!
受益了,谢谢!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2025-1-10 20:06 , Processed in 0.115547 second(s), 28 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表