我们的客户在500多个工作站的多用户环境中使用MS Access应用程序。使用自定义自动更新机制升级应用程序,该机制将.mde文件传递给使用Access Runtime 2002的最终用户。 我使用MS Access 2002(10.6501.6626)SP3编译应用程序。
在新版本发布后,我们会以随机形式的应用程序获得“OpenForm操作被取消”错误或随机工作站(通常是一两个)。 新的.mde文件编译和另一个更新解决了它。
你对这个错误的原因有什么想法吗?
答案 0 :(得分: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的成本更高。