数据库拆分的优点和必要性想必各位都明白一旦把后端库放到了局域网上(无论对等网局域网)前端运行速度将大为减缓特别是在前端修改查询窗体更为缓慢这种情况在论坛中经常提及但始终不能找到满意的答案
前段时间无意中发现了网友发布的相关帖子原文如下
问我的单位已连局域网有一台SERVER服务器有四台WIN工作站共同使用ACCESS调用服务器上的库文件 SERVERMDB
现在的解决方法是在服务器上建一共享目录存共享库文件SERVERMDB
工作站上用链接表对此相连但是总觉得两人以上运行时速度太慢
请问是不是有更好的方法?
答其实不慢只是需要技巧
Dim cn As Connection
Dim rs As New ADODBRecordset
Dim sql As String
Set cn = CurrentProjectConnection
sql = "select * from "
rsOpen sql cn
你的软件最好有个主控面板一打开软件它就打开关闭软件它才关闭在后台数据库文件里建一个只有一个字段的空表名为(其它名也可以)然后把上面的代码放在主控面板的OPEN事件里
这里面用到的小技巧就是打开了一个空表但没关闭它这样后台数据库就一直在打开状态(你可以看到后台数据库会生成一个LDB文件)你要操作其它表的时候就不用频繁地打开关闭后台数据库这样程序运行起来可以提升级几倍的速度试试看吧
其中谈到在前端数据库中打开一个链接自后端的表让起一直开着这样程序运行起来可以提升级几倍的速度讲的的确有道理但是我看不懂代码的意思照本宣科也不行只得束之高阁遗憾!!
前几天下载了一个后端监测软件可以看到有谁正在使用后端文件虽然用处不大但却带来意外收获运行监测软件后在前端编辑和修改查询窗体时速度大为提高为什么呢?几经分析和实践终于找到一种简便的方法来达到提高运行速度的目的!!不敢独享在此提供给各位需要的朋友以解燃眉之急
在后端创建一个只有一个字段的表不要输入任何数据
链接到前端数据库中
在前端中建立该表的窗体任何形式都行越简单越好
编写以隐藏方式打开该窗体的代码或宏命令
在切换面板的打开事件中运行打开命令这样每当数据库打开自然就会打开该窗体直到关闭数据库为止
这样一来就达到了不用频繁地打开关闭后台数据库的目的速度自然提高许多
上面提到的代码想来肯定有用为什么没有效果呢?如用代码以隐藏的方式直接打开表岂不更好还可以省掉一个窗体还望VBA高手解答
隐藏方式打开该窗体