MS Access 2010:如何在执行保存命令时自动运行查询
问题解答
是否必须在Access内运行查询才能让第三方获取最新结果?
这取决于你使用的查询类型:
- 普通选择查询:不需要提前在Access里运行。第三方通过OLEDB连接执行查询时,会直接读取主数据库的最新数据,结果是实时同步的。
- 生成表查询/追加查询/更新查询:这类查询是将结果写入到某个表中,只有重新运行查询,目标表才会更新。第三方如果读取的是这些查询生成的表,就必须先运行查询才能拿到最新数据。
不懂VBA、无表单时,如何在保存数据时自动运行查询?
如果你的场景需要自动运行生成表/更新类查询,可以用Access的数据宏(Table Macros)实现,完全不需要VBA:
- 打开需要触发更新的主数据表(即你修改数据的那张表)。
- 切换到「表格工具」→「设计」选项卡,点击「创建数据宏」,选择对应的触发事件:
- 修改现有记录后触发,选「After Update」;
- 新增记录后触发,选「After Insert」;
- 删除记录后触发,选「After Delete」。
- 在数据宏设计界面,添加「RunQuery」操作,选择你需要运行的查询。如果要运行多个查询,重复添加「RunQuery」操作,逐个选择目标查询即可。
- 保存数据宏并关闭设计界面。之后每次修改该表的数据并保存时,数据宏会自动触发,运行你指定的所有查询。
另外,如果你需要在打开数据库时自动运行一次查询,可以创建一个名为AutoExec的宏(添加RunQuery操作),数据库启动时会自动执行这个宏。
内容的提问来源于stack exchange,提问作者Shaun Oliver
相关产品推荐
相关产品推荐

