MS Access VBA:如何捕获由于内存或磁盘不足 space 导致删除挂起的情况?

MS Access VBA: how to trap case where delete hangs due to low memory or disk space?

我在 MS Access 2007 中偶尔会出现错误,我无法可靠地重现该错误。情况是这样的:

  1. 将 500K+ 行文本数据从文件加载到 table
  2. [用加载的数据做事]
  3. 尝试从 vba 中删除 table 的内容 CurrentDB()。执行 "Delete * from RawImport",其中 RawImport 是 table 名称

在第 3 步,代码有时会挂起,直到我 ctrl-Break。发生这种情况时,如果 Ctrl-F11 返回数据库视图并尝试删除 table 的内容,它总是会给我一个错误“没有足够的内存或磁盘 space要用undo完成这个动作,do you want to continue”(转述,我没能捕捉到错误)

退出 Access 并重新加载通常会清除它,以便 VBA 代码运行,这一切都很好,但我怎么能陷进去呢?它不会在删除时在 vba 中产生错误,它只是停留在该行,直到我手动中断。

最后,我确实遵循了创建临时数据库的方法,在那个数据库中即时创建 table,将它从我的主数据库链接起来,然后在每个数据库中删除临时数据库load/process 循环。它工作正常,但对于一个非常简单的数据库用例来说有点过于复杂 - 不难看出为什么人们这么容易就不再使用 Access。