2

向我的数据库提交记录时,我刚开始收到一个奇怪的错误。是一个数据录入表单,调用一堆代码,然后调用

  docmd.runcommand acSaveRecord
  Application.quit

在末尾。我将行更改docmd.savedocmd.runcommand acSaveRecord因为有时没有保存记录。我没有将应用程序设置为压缩并在关闭时修复。为什么我会收到此消息?

完整的错误是You cannot compact the open database through vba or a macro

4

1 回答 1

5

这是我发现的

acSaveRecord是 Access.Constants 的成员,等于 4。

acCmdSaveRecord是 Access.AcCommands 的成员,等于 50。

本质上,我使用的命令是"DoCmd.RunCommand 4".

其中Access.AcCommands等于 4 的值是acCmdCompactDatabase

因此,应该使用docmd.runcommand accmdSaveRecord(或使用form.dirty这篇博文简要解释了为什么应该使用form.dirty.

奇怪——奇怪行为的来源是这里的最后一篇文章

于 2013-04-27T01:52:36.310 回答