【问题标题】:Macro Error 2001 Autoexec Access Macro宏错误 2001 Autoexec 访问宏
【发布时间】:2017-11-23 14:21:19
【问题描述】:

我在 Access 2016 数据库上设置了 Autoexec 宏,以根据 Environ("USERNAME") 确定要打开的表单。

当我打开数据库时,我得到一个宏错误 2001。如果我单击停止所有宏,我可以继续使用数据库而不会出现问题,直到我更改文件名,然后问题再次发生。

是否有任何选项可以防止发生此错误?

被调用的代码是

LUser = LCase(Environ("USERNAME")) 'Get current username

DoCmd.OpenForm "frmDash", acNormal, , , , acWindowNormal

If IsNull(DLookup("[sysname]", "tblaccmannew", "sysname=" & "'" & LUser & "'")) Then
    DoCmd.OpenForm "frmSearch", acNormal, , , , acWindowNormal
    Forms!frmDash.Visible = False
End If

【问题讨论】:

  • 版本是 Access 2016

标签: ms-access vba


【解决方案1】:

您需要“信任”数据库的位置。

.

指定受信任的位置(Access 2013 和 2016)

  1. 在“文件”选项卡上,单击“选项”。

  2. 在“访问选项”对话框的左侧,单击“信任中心”。

  3. 在右侧的 Microsoft Office Access 信任中心下,单击信任 中心设置。

  4. 在“信任中心”对话框的左窗格中,单击“受信任” 地点。

  5. 要添加网络位置,请在右侧窗格中选择允许受信任 我的网络上的位置复选框。

  6. 点击添加新位置。

  7. 在 Microsoft Office 受信任位置对话框中,使用 以下方法:

    • 在“路径”框中,键入要添加的位置的完整路径。

    • 单击浏览以浏览到该位置。

  8. 指定新受信任位置的子文件夹也应 受信任,选择此位置的子文件夹也受信任检查 盒子。

  9. (可选)在“说明”框中,键入受信任的说明 位置。

(Source)

【讨论】:

  • 请注意,您可以在 If 块中使用 CurrentProject.IsTrusted 来检查项目是否受信任,如果不是,则抛出描述性错误。这需要在任何不安全的操作之前都在宏内部,因为如果项目不受信任(例如If Not CurrentProject.IsTrusted Then MessageBox),VBA 将不会运行。这也允许您将所有其他代码放在Else 部分中,以避免触发错误。
【解决方案2】:

还要注意;该产品有一个嵌入式功能可以打开初始表单,因此不需要自动执行。查看“选项”“当前数据库”

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-08-23
    • 1970-01-01
    • 1970-01-01
    • 2013-04-16
    • 1970-01-01
    • 2016-02-16
    • 1970-01-01
    相关资源
    最近更新 更多