1

我有一个 access 2012 应用程序,它工作得很好,直到我在城里的对手试图运行它。我们共享一个服务器。当我编译它时,他无法运行它。当他编译它时,角色被颠倒了。他可以运行它,但我不能。Access的版本是一样的。我在这里想念什么?

4

1 回答 1

2

确定故障系统

首先,您应该在其他机器上测试每个编译版本,以找出您或您的同事中的哪一个可能是问题的根源。

如果您已经隔离了问题所在的单个特定机器,那么完全卸载 Office 并重新安装它可能是一件好事;其他东西可能已损坏。

共享数据库

当您说shared server时,我希望您不是从共享网络文件夹运行 Access 数据库,而是将其正确拆分为后端数据库(包含数据并位于共享网络文件夹中)和前端数据库(包含表单和报告,并在每个用户的机器上运行)。
如果您允许用户.accde从网络文件夹运行文件,请立即停止并拆分您的数据库

检查事项

最好在检查时禁用防病毒软件。它可能会阻止某些调用或对某些库的访问:

  • 具有不同操作系统或 MSOffice 位数的系统(32 位与 64 位)。在 64 位 MS Office 上使用 Win32 API
    存在问题。 如果您在为 32 位制作的表单上引用较旧的外部控件,它们将无法在 64 位机器上运行

  • MSOffice 补丁级别略有不同的机器。几个月前,在发布修复之前,SP1肯定存在这样的问题。
    检查您的 MSAccess 确切版本:菜单文件 > 帮助。
    我的说版本:14.0.6123.5001(32位)

  • accda/mda对不同版本或位置且在系统上找不到的外部库(或其他)的引用。
    这可能很难跟踪和解决,但有一些关于如何最小化问题的提示
    您是否引用了任何由绝对路径定位的库?

  • 有些相关,使用未正确注册的第 3 方 ActiveX 组件,或者每台机器上的版本不完全相同。

  • 数据库的细微损坏。
    尝试反编译(备份后)。

  • 您是否对位于每台机器上不同位置的后端数据库使用链接表?

  • 确保运行编译accde文件的文件夹已添加到受信任位置列表中。

  • 使用普通addcb数据库并在运行时模式下运行它(使用 msaccess.exe命令行选项/runtime)。
    你遇到同样的问题吗?

  • 如果问题来自您的代码而不是访问中的崩溃,则可能值得添加一些日志记录来跟踪代码的执行。
    您还应该看看vbWatchdog和优秀的库来管理错误和跟踪您的代码(您可以免费试用)。
    强烈推荐!

于 2012-11-02T00:49:14.713 回答