在 VBA ODBC 中运行附加查询时隐藏对话框
Posted
技术标签:
【中文标题】在 VBA ODBC 中运行附加查询时隐藏对话框【英文标题】:Hide Dialog box when running append query in VBA ODBC 【发布时间】:2014-12-08 16:39:13 【问题描述】:我想使用 VBA 通过单击按钮运行保存的访问查询。我不希望用户被要求确认它是否运行。
代码:
DoCmd.OpenQuery "QryAddTraining", acViewNormal, acAdd
这会弹出对话框“您将要运行将修改表中的数据的追加查询” ....
我只希望 VBA 代码自动选择“是”并阻止用户看到此界面。
【问题讨论】:
【参考方案1】:使用DAO.Database.Execute
执行您的查询:
Dim db As DAO.Database
Set db = CurrentDb
db.Execute "QryAddTraining", dbFailOnError
dbFailOnError
选项不是必需的,但包含它可以为您提供更好的错误信息。有关详细信息,请查看 Access 帮助主题。
【讨论】:
您也可以使用DoCmd.Setwarnings False
,但我更喜欢@HansUp 建议的方法,因为它可以让您识别关闭SetWarnings
时未显示的其他类型的错误。 (如果你使用SetWarnings
,完成后别忘了重新打开它。)
编写更短代码的快速提示:您可以将 3 行替换为 CurrentDB.Execute "QryAddTraining", dbFailOnError
以上是关于在 VBA ODBC 中运行附加查询时隐藏对话框的主要内容,如果未能解决你的问题,请参考以下文章
运行 Access Query 时反复弹出不需要的 SQL Server 登录对话框
Excel-VBA 通过 ODBC 驱动程序到 SQLite3:主数据库 + 附加数据库
如何在 Access VBA 中运行附加查询以根据表单字段中的数量创建一定数量的相同记录?
从 MS Access VBA 通过 ODBC 进行 MySQL 查询:ADODB 异步执行不起作用
我在附加数据库时出现这示一个对话框提示:Micrsoft sql_dmo(odbc sqlstate:HY000)错误:823
在 Access 中使用 ODBC 连接到 MS SQL Server 2012:手动调用查询和在 VBA 中调用查询之间的巨大时间差异