我有一个 access 2012 应用程序,在我对面的同事尝试运行它之前,它工作得很好。我们共享一个服务器。我编译的时候,他跑不了。当他编译它时,角色被颠倒了。他可以运行它,但我不能。 Access的版本是一样的。我在这里错过了什么?
最佳答案
确定故障系统
首先,您应该在其他机器上测试每个编译后的版本,以确定您或您的同事中的哪一个可能是问题的根源。
如果您已隔离出现问题的单个特定计算机,则完全卸载 Office 并重新安装它可能是一件好事;其他东西可能已损坏。
共享数据库
当您说共享服务器时,我希望您不是从共享网络文件夹运行 Access 数据库,而是将其适本地拆分到后端数据库(包含数据并位于共享网络文件夹)和前端数据库(包含表单和报告并在每个用户的计算机上运行)。
如果您允许用户从网络文件夹运行 .accde
文件,stop right now and split your database !
检查事项
最好在检查时禁用防病毒软件。它可能会阻止某些调用或 Access 某些库:
具有不同操作系统或 MSOffice 位数的系统(32 位与 64 位)。
使用 Win32 APIs on 64bit MS Office 存在问题.
如果您在为 32 位制作的表单上引用旧的外部控件,they won't work on a 64 bit machine .MSOffice 补丁级别略有不同的计算机。肯定有这样的问题few months ago with SP1直到 fix was issued .
检查您的 MSAccess 确切版本:菜单文件 > 帮助。
我的说版本:14.0.6123.5001(32 位)对具有不同版本或位置且无法在系统上找到的外部库(或其他
accda/mda
)的引用。
这可能很难跟踪和解决,但是有 pointers on how to minimize the issues .
您是否引用了任何通过绝对路径定位的库?有点相关,使用未正确注册的第 3 方 ActiveX 组件,或者每台机器上的版本不完全相同。
数据库轻微损坏。
试试decompile it (备份后)。您是否针对位于每台机器上不同位置的后端数据库使用链接表?
确保运行已编译的
accde
文件的文件夹已添加到Trusted Locations 列表中。 .使用普通的
addcb
数据库并在运行时模式下运行它(使用 msaccess.exe command line 选项/runtime
)。
你遇到同样的问题吗?如果问题来自您的代码而不是 Access 崩溃,可能值得添加一些日志记录来跟踪代码的执行。
您还应该看看 vbWatchdog ,以及用于管理错误和跟踪代码的优秀库(您可以免费试用)。
强烈推荐!
关于windows - Access 2010 on shared server 编译麻烦,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13186685/