【发布时间】:2016-09-19 09:46:22
【问题描述】:
最近我遇到了一些非常奇怪的问题,我无法准确找出导致它的原因。
我有一个使用 SQL Server 链接表的 Access 前端应用程序。几天前,我部署了一个新的 ACCDE 版本,这导致了一些非常奇怪的问题。
在一台计算机上,我无法从功能区打开表单(一些 21~ ish 错误无法准确记住,但这是默认的打开表单错误)。经过一番调查,我发现问题是由表单的on-open event 上的allow additions = false 行引起的。然而,这很奇怪,因为它一直存在。除此之外,在几乎所有其他计算机上,包括我的,它都可以正常工作,而代码(以及表单、查询等)完全相同..
当尝试在该特定计算机上的 accdb 中打开相同的访问文件时,它似乎确实有效(使用运行时版本完成打开)。 因此,作为解决方法(暂时),我们确保这台计算机以 accdb 的形式打开文件,而其他计算机(它确实工作的地方)以 accdde 的形式打开它。
但是今天又出了问题,但是在不同的计算机上和不同的问题上。现在一个完全不同的表单不会加载它的数据(它是空的)。在本地测试它可以正常工作,但是在另一台计算机上再次测试它(也有运行时版本)它也可以很好地打开其中的数据......
奇怪的是,当使用较旧的文件(几个应用程序版本回来)时可以正常工作,但当前的文件不能,至少不是在所有计算机上。这让我相信文件已损坏,但奇怪的是,为什么它可以在其他计算机上运行?如果文件被损坏,您会说它导致所有计算机上的问题?
所以接下来我想到的是不同的 Access 运行时版本。我测试了 4 台计算机(其中两台一切正常),另外两台有问题。
- 一台计算机(运行良好)是一个 32 位系统,Access 运行时版本为 15.0.4841
- 计算机 2(有问题)是 64 位系统,Access 运行时版本为 15.0.4569
- 计算机 3(也有问题)是 32 位系统,Access 运行时版本为 15.0.4833
- 第四台计算机(我自己的计算机针对本地数据库进行了测试)是一个 64 位系统,Access 运行时版本为 15.0.4849
所以访问文件不工作的计算机的版本都比正常工作的计算机版本低,这可能是导致问题的原因吗?如果是这样,我仍然想知道为什么旧的 Access 应用程序文件可以在所有计算机上运行,而当前的却不能..
附注:
- 还尝试在其中一台无法正常工作的计算机上修复访问运行时版本,但没有效果
- 对 Access 文件本身进行压缩和修复也没有任何效果
【问题讨论】:
-
尝试以新名称保存有问题的表格,删除“坏”的表格并将副本重命名为原始名称。有时它会修复奇怪的错误。确保轨道名称自动更正已关闭。问题只出现在 accde 上?