Access 数据库执行 SQL 的完整指南
在 Microsoft Access 中执行 SQL 语句有多种方式,具体取决于你是想通过图形界面手动操作,还是通过 VBA 代码实现自动化,亦或是通过外部程序调用。
通过 Access 图形界面执行(手动方式)
这是最简单的方法,适用于临时查询或修改数据。
操作步骤:
- 打开 Access 数据库文件。
- 点击上方菜单栏的 “创建” (Create) 选项卡。
- 点击 “查询设计” (Query Design)。
- 在弹出的“显示表”窗口中直接点击 “关闭”。
- 在界面左上角,点击 “视图” 下拉菜单,选择 “SQL 视图” (SQL View)。
- 在打开的空白编辑器中输入你的 SQL 语句。
- 点击工具栏上的

“运行” (Run/红色感叹号)
按钮执行。
适用场景:数据查询 (SELECT)、简单的数据更新 (UPDATE) 或删除 (DELETE)。
通过 VBA 代码执行(自动化方式)
如果你需要编写宏或在表单按钮中触发 SQL,可以使用 VBA,主要有两种常用方法:
使用 DoCmd.RunSQL
这种方法最简单,但执行“操作查询”(如删除、更新)时会弹出系统确认警告。
- 代码示例:
DoCmd.RunSQL "UPDATE 员工表 SET 薪水 = 薪水 1.1 WHERE 部门 = '销售部'"
- 特点:会弹出确认对话框(除非使用
DoCmd.SetWarnings False关闭警告)。
使用 CurrentDb.Execute (推荐)
这是专业开发最常用的方法,执行速度快且

不会弹出警告窗口。
- 代码示例:
CurrentDb.Execute "INSERT INTO 日志表 (时间, 事件) VALUES (#" & Now() & "#, '系统启动')", dbFailOnError
- 重点说明:
dbFailOnError参数确保如果执行失败,程序会抛出错误而非静默失败。- 这种方法在处理大量数据更新时效率更高。
Access SQL 的特殊语法注意事项
Access 的 SQL 语法(Jet SQL / ACE SQL)与标准的 T-SQL 或 MySQL 略有不同,编写时需注意:
- 日期格式:日期必须用 井号 () 包围。
- 错误:
WHERE 日期 = '2026-01-01' - 正确:
WHERE 日期 = #2026-01-01#
- 错误:
- 通配符:在 Access 内部界面执行时,通配符使用

星号 (`
) 而非百分号 (%`)。- 示例:
SELECT FROM 用户 WHERE 姓名 LIKE '张'
- 示例:
- 多表连接 (JOIN):Access 对多表连接要求非常严格,必须使用括号来嵌套。
- 示例:
SELECT FROM (表A INNER JOIN 表B ON 表A.ID = 表B.ID) INNER JOIN 表C ON 表B.ID = 表C.ID
- 示例:
如何选择执行方式?
- 临时查数据 $rightarrow$ 使用 SQL 视图。
- 简单快速的 VBA 脚本 $rightarrow$ 使用
DoCmd.RunSQL。 - 正式的应用程序/静默执行 $rightarrow$ 使用
CurrentDb.Execute。 - 外部程序(如 Python/C#) $rightarrow$ 通过 ODBC 或 OLEDB 连接字符串调用。
【版权声明】:本站所有内容均来自网络,若无意侵犯到您的权利,请及时与我们联系将尽快删除相关内容!
发表回复