MS Access:从后端预加载数据

时间:2014-08-19 11:22:07

标签: ms-access frontend backend preloading

摘要

我在Access前端数据库中有多种形式,有多个下拉列表。这些填充来自查询,这些查询从后端Access数据库中的表中获取数据(通过链接表)。

打开前端并单击第一个下拉组合框时,等待几秒钟(通常伴有“无响应”消息),而来自后端(服务器上)的表数据是下载。

让我感到震惊的是,只要前端打开,用户点击第一个组合框之前就可以启动此加载。有没有办法预加载表 - 最好没有“没有响应”的消息?

1 个答案:

答案 0 :(得分:1)

根据我的经验,最初填写下拉列表需要更改整个表单组件结构。即下拉菜单不是来自查询而是来自VBA列表。可以在Access启动过程之后自动创建列表。

但是我曾经通过在启动时打开整个表单成功地提高了性能并使它们不可见。然后,如果某人需要一个表格并选择例如一个菜单点,表单将变得可见。人们告诉我他们在启动时接受等待时间,因为他们知道这件事,做其他工作或去喝咖啡。

要保持整个表单预加载,您需要禁用表单关闭按钮(并可能添加一个替代按钮),因为此按钮会破坏性能提升。此外,对话框应该能够以某种方式重新加载属性。但如果下拉列表中的属性不会改变太多,客户可能会偶尔重启应用程序。最后,如果Access崩溃(一个未捕获VBA错误足以重置Access'运行时状态),则将再次加载要打开的下一个对话框。您需要编写一些智能GetForm()工厂方法来处理此问题。

但另外,在启动时加载一个不可见的对话框很容易: - )

现在你至少有两个场景 - 我希望你能找到一个好方法。