【发布时间】:2014-01-23 07:40:38
【问题描述】:
我在 Access 2010 中有一个运行没有问题的项目。也就是说,直到我添加断点并尝试调试代码。一旦到达第一个断点,VBA 项目就会打开,大约 1 秒后 Access 崩溃并重新启动。 我可以添加一个 Debug.Print 并且一切正常。我就是无法单步执行代码。
修复和压缩不起作用,也没有创建新项目并导入所有内容。
查看我得到的事件查看器:
Faulting application name: MSACCESS.EXE, version: 14.0.4750.1000, time stamp: 0x4b8bae0f
Faulting module name: ntdll.dll, version: 6.2.9200.16579, time stamp: 0x51637f77
Exception code: 0xc0150010
Fault offset: 0x00000000001041c0
Faulting process id: 0x2ef4
Faulting application start time: 0x01cf180a44c35b8a
Faulting application path: C:\Program Files\Microsoft Office 2010\Office14\MSACCESS.EXE
我无法取消注册和重新注册 DLL(找不到入口点)。 我已经在http://pcsupport.about.com/od/fixtheproblem/a/ntdlldll.htm 上尝试了所有方法,但没有重新安装 Windows,但仍然没有。 在安全模式下运行 Access 确实有帮助,但不会永久修复它。
还有其他想法吗?
更新:我现在有一台新笔记本电脑并升级到 Access 365。它仍然会发生。但仅限于一个特定项目。其他项目运行良好。
【问题讨论】:
-
你有没有备份、压缩、修复和反编译granite.ab.ca/access/decompile.htm?之后,如有必要,您可以将所有内容复制到新的数据库中。您是否也尝试过修复 MS Access?其他项目是否正常运行?
-
您是否有加载项?
-
是的,我确实有加载项,但他们正在处理其他 accdb 项目。所以是的,还有其他人正在工作。我已经压实并修复了。我也尝试在新数据库中复制所有内容 - 没有成功。现在将运行反编译。您如何修复 MS Access?
-
确实,您需要通过将代码分成越来越小的块来进行隔离,直到找到问题为止。请注意,除非您以@CristianBuse 作为前缀,否则当您留言时我不会收到通知。我不需要这样做,因为这是您的问题,您会自动收到通知。您是在使用 64 位 Office 还是 32 位?有一些已知的 64 位错误,例如 this one
-
您可以尝试here 的解决方案之一,从文本文件中导出和重建所有模块。与将所有对象导入新数据库相比,这可能(也可能不会)能够消除更多的“二进制损坏”。
标签: vba crash ms-access-2010 ntdll