如何强制 MS-Access 自动刷新由具有外部非 MSAccess 数据库后端的触发器修改的记录?

Posted

技术标签:

【中文标题】如何强制 MS-Access 自动刷新由具有外部非 MSAccess 数据库后端的触发器修改的记录?【英文标题】:How can I force MS-Access to automatically refresh a record which was modified by a trigger with an external, non-MSAccess DB backend? 【发布时间】:2021-02-06 02:33:31 【问题描述】:

我使用 MS-Access (MS-365) 作为后端 Postgres 表的前端,通过 ODBC 在 linux 上提供服务。 我在 Postgres DB 表中编写了一个更新前触发器来更改字段的值。例如,递增在 MS-Access 中记录的整数字段中修改的整数。它似乎工作正常,除了新值不会在 MS-Access 表中自动更新,直到/除非我单击“刷新”按钮。有没有办法在将 MS-Access 视图中的修改记录写入后端数据库后强制自动刷新它?当后端是 MS-Access 时,它似乎会自动执行此操作。

感谢您的帮助!

【问题讨论】:

访问应该在设定的时间间隔内自动刷新 - 这不会发生吗?如果这还不够,则需要以某种方式运行代码来进行刷新,但是,我不确定如何做到这一点,因为 Access 端不涉及任何事件。 我读过一些关于刷新刷新间隔的文章,但似乎找不到如何在 Access 中设置它。有没有办法设置间隔?有没有办法指示只刷新/重置在前端更改的记录? 刷新间隔是 Access 应用程序范围的客户端设置,而不是数据库设置:文件 > 选项 > 客户端设置 > 高级 > 刷新间隔。默认值似乎是 1 分钟。可以设置一个表单计时器来更频繁地刷新,但我知道这是一个内存猪***.com/questions/45547939/…。但是多久一次就足够了? PostGres 触发后仍然会有一些延迟。不,不知道有什么方法可以只刷新已更改的记录。 【参考方案1】:

我确实(最终)找到了刷新间隔设置。他们可以 点击找到

文件 -> 选项 -> 客户端设置

然后向下滚动到“高级”

然后选择 0 作为刷新间隔和 obdb 刷新间隔。

你在赛道上,但 0 在这里的意思是“从不”。

因此,将 刷新重试间隔 设置为 250 毫秒,并将 ODBC 刷新间隔 设置为 5 秒。

这在这里有效。

【讨论】:

以上是关于如何强制 MS-Access 自动刷新由具有外部非 MSAccess 数据库后端的触发器修改的记录?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 C# 中更新或刷新与 Ms-access 连接的数据网格视图

通过 VBA 在 MS Access 中自动链接/刷新 ODBC 链接表

如何强制视图刷新而不让它从可观察对象自动触发?

需要在操作系统中更改暗/亮模式以强制刷新外部 SVG 文件

vue如何组件强制刷新组件

如何强制 WPF 绑定刷新?