是的,这是一个广为人知的问题,多年来我们建议您采用所谓的持久连接。
如果你在做开发,那么通常可以做的就是简单地点击一个表(任何链接的表)来打开它,现在你可以工作、设计表单,并且在开发过程中不会遇到巨大的延迟。
虽然上面修复了开发期间和开发时的延迟,但在运行应用程序时可以使用相同的概念和方法。
像每个应用程序一样,您无疑有一些启动代码。此代码可以以您在应用程序启动时启动的第一种形式出现。
因此,您可以创建标准代码模块。说它是Module1。在该模块中,您可以放置以下代码:
Option Compare Database
Option Explicit
Public rstPersist As DAO.Recordset
Sub MyOpenPersist()
' opens a back end table to force and keep
' open the connection for greatly improved
' speed
Set rstPersist = CurrentDb.OpenRecordset("tblDefaults")
End Sub
然后在启动时启动的第一个表单中,甚至在加载时,您可以包含以下代码:
Call MyOpenPersist
现在,这将为“全局”rstPersit 记录集打开一个表。
现在,从那时起,由于已创建锁定文件(您注意到这需要很长时间),因此应用程序、表单和所有内容现在都将运行而不会出现延迟。
您选择打开哪个表并不重要 - 唯一的要求是该表是一个链接表,因为您可以(并且可能)在前端有一些本地表,用于设置或其他内容。因此,在这种情况下,我打开了一个名为 defaults 的表(打开该表非常好,因为它是一个 1 记录表,其中包含默认内容,例如城市和电话号码的默认区号等)。所以,我实际上可以说是用一块石头杀死了两只鸟,因为无论如何我都需要一张默认表来处理应用程序中的许多事情。