You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在输入文件变更时保存并重新运行MS Access查询步骤?

在MS Access中实现CSV更新时自动生成结果表

当然可以实现类似Power Query的自动更新效果,以下是几种实用方案:

1. 基础方案:保存查询+手动刷新

你创建的查询本身就能直接保存为Access的查询对象。当CSV文件更新后:

  • 如果查询基于导入的本地表,先重新导入CSV覆盖旧表,再运行查询即可生成最新结果;
  • 如果是链接CSV而非导入(推荐),直接打开或运行查询,就能自动读取CSV的最新数据,无需重复导入。链接CSV的操作:外部数据→导入并链接→文本文件→选择"链接到数据源,创建链接表"。

2. 自动触发更新的进阶方案

用VBA实现自动运行查询

如果需要自动生成结果表(比如生成表查询),可以写简单的VBA代码来触发更新:

  1. 打开VBA编辑器(Alt+F11),插入模块,写入以下代码:
Sub RefreshResultTable()
    ' 关闭更新提示
    DoCmd.SetWarnings False
    ' 运行你的生成表查询,替换为实际查询名称
    DoCmd.OpenQuery "Qry_Generate_Result"
    ' 恢复提示
    DoCmd.SetWarnings True
End Sub
  1. 触发方式:
    • 数据库打开时自动运行:创建名为AutoExec的宏,添加"RunCode"操作,调用上述子程序,每次打开数据库就会自动更新结果表;
    • 定时自动更新:借助Windows任务计划,设置定期打开该Access数据库(需确保数据库信任宏),结合AutoExec宏实现定时刷新。

数据宏触发(有限支持)

Access 2010及以上版本支持数据宏,但CSV作为文本格式的链接表,数据变更的触发事件支持有限,更适合本地表或SQL Server等链接表。如果用本地表,可以给导入后的表设置"更新后"数据宏,触发运行查询更新结果表。

3. 内置Power Query方案(Access 2016+)

如果更习惯Power Query的操作逻辑,Access内置了Power Query功能:

  1. 从"数据"选项卡→"获取数据"→"从文本/CSV"导入两个文件,在Power Query编辑器中完成合并、转换等操作;
  2. 将处理后的数据加载到Access表中;
  3. 后续右键点击该表选择"刷新",或通过"外部数据"→"刷新所有",就能一键同步CSV的最新数据,也可以用VBA设置定时刷新。

内容的提问来源于stack exchange,提问作者Rasec Malkic

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.03 09:53:01