【发布时间】:2015-05-20 05:17:21
【问题描述】:
我已经构建了一个运行 7 个查询的宏。宏的工作方式与我想要的完全一样,但是因为它们是更新和附加查询,所以 Access 会提示用户批准更新和附加。我想使用 VBA 关闭警告信息,以便宏从头到尾运行而不会中断。
我将宏转换为 VBA,代码非常简单。有 7 个 DoCmd.OpenQuery 命令,后跟“宏名”Exit: 和“宏名”Err:。 我在第一个 DoCmd.OpenQuery 行之前添加了这段代码
DoCmd.SetWarnings 错误
Application.DisplayAlerts=False
然后在代码的最后
DoCmd.SetWarnings True
Application.DisplayAlerts=True
当我尝试它时,这不会关闭消息。知道我可以使用什么 VBA 代码来关闭所有更新并附加查询警告吗?
编辑:我的 VBA 是
Option Compare Database
Function Spec_Maker()
On Error GoTo Spec_Maker_Err
DoCmd.SetWarnings False
Application.DisplayAlerts=False
DoCmd.OpenQuery "Query1", acViewNormal, acEdit
DoCmd.OpenQuery "Query2", acViewNormal, acEdit
DoCmd.OpenQuery "Query3", acViewNormal, acEdit
DoCmd.OpenQuery "Query4", acViewNormal, acEdit
DoCmd.OpenQuery "Query5", acViewNormal, acEdit
DoCmd.OpenQuery "Query6", acViewNormal, acEdit
DoCmd.OpenQuery "Query7", acViewNormal, acEdit
DoCmd.SetWarnings True
Application.DisplayAlerts=True
Spec_Maker_Exit:
Exit Function
spec_Maker_Err:
MsgBox Error$
Resume Spec_Maker_Exit
End Function
【问题讨论】:
-
你能发布你的整个代码块吗?
-
Access 没有
Application.DisplayAlerts属性;那是Excel的事情。如果您实际上是在询问与 Access 数据库交互的 Excel VBA 代码,请澄清这一点。谢谢。 -
我在 Access 中。 Application.DisplayAlerts 只是我在其他地方发现的我认为可行的坏信息
-
在这种情况下,将
Option Explicit添加到您的访问代码模块的声明部分。然后从 VB 编辑器的主菜单运行 Debug->Compile。修复编译器抱怨的任何问题。
标签: excel ms-access vba ms-access-2010