如何使用自执行代码杀死 CurrentDB

How to Kill CurrentDB using self executed code

我一直在研究自行执行删除当前数据库文件的代码的方法。我遇到了一个代码片段 here,它完全适用于 Excel,但这似乎不能很好地转换为 Access。

 Sub KillMeExcel()
 With ThisWorkbook
    .Saved = True
    .ChangeFileAccess Mode:=xlReadOnly
    Kill .FullName
    .Close False
 End With
 End Sub

A​​ccess 中似乎没有 .ChangeFileAccess 模式,所以我没有进一步了解。

是否可以使用VBA代码删除当前数据库?

那是不可能的。您将收到 Permission Denied 错误 - 这是有原因的。

我也会对通过邮件发送一个开放的 运行 Access 数据库保持警惕。

我的解决方法是:

Launch an external vbs
DoCmd.Quit

在 vbs 中:

  • 循环等待,直到 .ldb / .laccdb 文件消失(即数据库是 关闭)
  • 发送附有数据库的邮件
  • 删除数据库