0

我们的客户在 500 多个工作站上的多用户环境中使用 MS Access 应用程序。该应用程序使用自定义自动更新机制进行升级,该机制将 .mde 文件传递​​给使用 Access Runtime 2002 的最终用户。我使用 MS Access 2002 (10.6501.6626) SP3 编译该应用程序。

有时在新版本发布后,我们会收到“OpenForm action was cancelled”错误或随机工作站(通常是一个或两个)以随机形式的应用程序。.mde 文件的新编译和另一个更新解决了它。

您对此错误的原因有任何想法吗?

4

1 回答 1

0

Access 绝对令人抓狂的方面之一是您遇到的所有版本问题。我在一家大型保险公司工作,对硬件/软件以及用户可以升级和不能升级的内容有非常严格的处理,并且任何超过 50 个用户的项目都保证在少数机器上出现问题。因此,我们最终完全移植到 Visual Studio.net 以避免这些问题。

您可以首先查看所有行为异常的机器的特定版本号。您可能会发现出现错误的计算机之间存在某种关联。

在代码中,确保所有子程序/函数都有错误捕获。使用这个框架编写代码总是一个好主意:

Private Sub SomeName_Click()
On Error GoTo Err_SomeName_Click

   ...Do some stuff here...

Exit_SomeName_Click:
    Exit Sub

Err_SomeName_Click:
    MsgBox Err.Description
    Resume Exit_SomeName_Click

End Sub

您可以捕获特定错误并适当地处理它们,而不仅仅是生成一个消息框。

通常,构建中存在少量损坏。访问有时会非常情绪化。许多人忘记的是,Access 是/不是真正为大规模数据库部署而设计的。是的,它可以做到,但是 VS 前端加上 SQL Server 后端要稳定得多。这就是为什么 Access 附带 Office,而 VS 和 SQL Server 成本更高的原因。

于 2015-03-24T19:59:31.663 回答