“Make Trusted Document”警告直到退出才会触发,导致“Can't exit now”错误

问题描述 投票:0回答:1

你们大家,我快要彻底疯了。我是一个完美主义者,我不明白为什么会出现安全警告:“你想让这个文件成为可信文档吗?”直到我尝试关闭数据库时才会触发,从而导致“您现在无法退出 [DB]”错误。该数据库位于网络共享驱动器上,旨在检测它是否是本地的,然后提示用户保存本地副本,打开该本地副本,然后自行关闭。

问题是当它尝试关闭时会抛出一个非常糟糕的looking错误。无论我使用宏还是 VBA,嵌入式还是独立的,都不会产生相同的错误。如果我手动关闭表单或数据库,最终会触发安全警告(“是否要将其设为可信文档?”),但不会生成错误。

我正在运行:Microsoft 365 企业应用版本 2401(内部版本 17231.2090 即点即用)

我的目标

在加载时触发安全警告,或检测安全警告并停止执行,直到采取行动。

接下来会发生什么

  • 如果我“确定”错误并信任该文档,错误就会消失。
  • 如果我“确定”错误并且信任该文档,错误就会消失,直到我再次打开它。
  • 如果我将其移动到本地文件夹(无论是否受信任),错误就会消失。

影响:从根本上来说,这是一个小错误,一旦用户将数据库正确移动到本地驱动器,该错误就会完全消失。然而,它让我疯狂,因为它是如此难以解释,也是我的用户第一次接触我的数据库。

到目前为止我尝试过的事情

  1. 按钮中嵌入宏:“退出”
  2. VBA 函数与 Application.Quit 最后
  3. VBA 函数与onlyApplication.Quit inside
  4. DoCmd.SetWarnings
  5. 紧凑和修复
  6. 删除所有我以前没有使用过的新代码/表单/宏
  7. 将所有内容复制并粘贴到新的 *.accdb 文件中
  8. 在退出之前添加“Do Until newApp.CurrentProject.IsTrusted : Sleep 500 : Loop”
  9. 实际回家并尝试 VPN 连接
  10. 等待 15 分钟以触发安全警告
  11. 运行“不执行任何操作”VBA 或宏(DoEvents 和 Echo 关闭/打开)OnLoad 和 Button_OnClick

这些都没有改变错误。

数据库结构

Forms:
- Warn Not Trusted (default)
- Warn On Network
- Admin Options

Macros:
- AutoExec:
  - If [isTrusted], close "Warn Not Trusted"
  - If vbaDriveType <> "Local", show "Warn On Network"
  - Else, UpdateMainDB, then LaunchMainDB

VBA:
- UpdateMainDB/LaunchMainDB: Checks version, then either updates or launches main DB.
- Utilities: vbaDriveType: If .Path like C:\*, then Local

限制

  • 无法更改信任设置
  • 无法更改注册表
  • 必须假设用户不能问我问题

我错过了一些明显的事情吗?我是SOL吗?我是否偶然发现了真正的错误?

我的理智逐渐衰退,恳求大家帮忙!

ms-access ms-access-2016
1个回答
0
投票

不要让应用程序自我复制。使用快捷方式和脚本来启动应用程序 - 如我的文章中所述:

一键部署和更新 Microsoft Access 应用程序

它还包含可供下载的示例脚本。

或者,您可以尝试(在“访问”、“选项”中)将您的网络驱动器列为受信任位置。

© www.soinside.com 2019 - 2024. All rights reserved.