【发布时间】:2018-12-11 15:54:04
【问题描述】:
我正在开发一个 MS-Access 应用程序,其数据位于单独的后端数据库(也称为 MS-Access)中。主表单包含一个打开设置对话框的按钮、一个退出按钮(都在表单标题中)和一个导航控件,其中包含多个选项卡,用于在表单详细信息中显示子表单。设置对话框是一个弹出窗口。在对话框中,用户可以更改后端数据库的路径,如果用户保存设置,所有链接的表将自动重新链接。这一切都很好。
但是,在关闭对话框后,重新查询活动子表单没有任何效果,只有当我关闭并重新打开表单(例如,通过单击不同的选项卡)时,它才会显示来自新(重新链接的数据库)的数据。
我认为这与我重新链接 vba 代码无关。
我尝试直接打开我的子表单并使用链接表管理器,结果相同。点击功能区上的刷新按钮没有任何作用,只有当我更改为设计视图并返回表单视图时,表单中的数据才会更新。
我还尝试了重绘、刷新和重新查询的不同组合,但无济于事。
我在我的代码中广泛使用 requery,它运行良好,但似乎不是在简单地重新连接链接表之后。不同的后端数据库具有完全相同的结构,它们只是重复,删除了一些记录以具有测试用例。
这是怎么回事?
问候奥利弗
【问题讨论】:
-
通常,在重新链接期间,您不会打开任何绑定表单,否则重新链接可能会失败。所以,关闭所有绑定的表单,重新链接,打开一个绑定的表单 - 将查看当前链接的数据。
-
感谢您的快速回复。然后我必须更改我的布局,以便设置表单(未绑定)替换主表单。我希望有另一种解决方案。
-
有几种方法可以管理这个。杰弗里回答中的方法可能是一种,尽管我也没有测试过。