我正在研究MS Access数据库.我对其中一个模块进行了一些更改.我想出去吃午饭,但是当我尝试关闭数据库时,我收到以下消息:
"您没有对数据库的独占访问权限.此时无法保存您的设计更改.是否要在不保存更改的情况下关闭?"
我很确定网络上没有其他人打开数据库文件,我没有打开任何其他Access数据库.我可能错过了一些明显的东西,但真的很感激一些帮助!
更新:
最后我复制了所有代码,关闭数据库而不保存,重新打开它并将代码粘贴回来.然后我就可以保存数据库了.我不确定这是否是一次性的,但如果再次发生,我会报告.
如果你确定没有其他人在你的数据库中,那么这是你自己的电脑上与你的数据库的额外连接.您可以使用LDB查看器验证这一点,可以从Microsoft的免费JetUtils.exe下载中下载:
http://support.microsoft.com/kb/176670
查看代码并检查默认工作空间中是否有两个单独的数据库对象,另一个工作空间中是否有另一个数据库对象.那将导致这个问题.
为了解决这个问题,确保数据库对象都设置为无,他们走出去的范围之前,如果你在代码中打开数据库对象,还需要对数据库对象设置为Nothing之前关闭它.
如果您关闭数据库并确定没有其他人打开它,请检查是否存在 .ldb 文件(它将与您的数据库文件同名)。如果该文件存在,那么它很可能仍在使用中。它是通过服务(例如网站)访问的吗?
您可以将数据库复制到另一个子目录并进行更改。如果这不起作用,我将不得不查找一下。当然总是有数据库工具,“修复和压缩数据库......”
文件是否位于文件服务器上?如果是这样,请检查是否有任何用户拥有该文件的文件句柄。
如果仍然不起作用,请使用您的新信息更新您的帖子,我们将进一步处理。
更新(9/26):当包含 vba 代码的访问数据库遇到奇怪的问题时,我做的另一件事是反编译。我不知道这是否已记录在案,我已经好几年没有看过了,但它(至少)是对 msaccess 的无记录切换。
从命令行:
将目录更改为 msaccess.exe 所在的位置。
运行以下命令
msaccess \访问文件的路径\databasefile.mdb /decompile
通常运行得很快然后打开数据库。打开任意模块并编译。
并不总是有效,但有时可以消除奇怪的情况。
您是否曾尝试将数据库复制到另一个目录并进行编辑?那应该有效;然后,您可以重命名原始文件并将文件复制回来。
不管怎样,我很高兴你又开始工作了。
| 归档时间: |
|
| 查看次数: |
13804 次 |
| 最近记录: |