Access 2013 Runtime - 一些奇怪的问题(表单在一台计算机上不显示,但在另一台计算机上不显示)
Access 2013 Runtime - Some weird issues (Form doesn't show up at one computer but doesn't on another)
最近我遇到了一些非常奇怪的问题,我无法确定是什么原因造成的。
我有一个使用 SQL 服务器链接表的 Access 前端应用程序。几天前,我部署了一个新的 ACCDE 版本,这导致了一些非常奇怪的问题。
在一台计算机上,我无法从功能区打开表单(一些 21~ 左右的错误记不清了,但这是一个默认的打开表单错误)。经过一些调查,我发现问题是由表单 on-open event
上的 allow additions = false
行引起的。然而,这很奇怪,因为它一直都在那里。除此之外,在几乎所有其他计算机上,包括我的计算机,它都可以正常工作,而代码(和表单、查询等)完全相同..
当尝试在该特定计算机的 accdb 中打开相同的访问文件时,它似乎确实有效(打开是使用运行时版本完成的)。
因此,作为解决方法(暂时),我们确保这台计算机将文件打开为 accdb,而其他计算机(它确实工作的地方)将其打开为 accdde。
然而今天它又出错了,但是在不同的计算机上出现了不同的问题。现在完全不同的形式不会加载它的数据(它是空的)。在本地测试它工作正常但是在另一台计算机上再次测试它(还有运行时版本)它也可以正常打开其中的数据...
奇怪的是,当使用旧文件(之前的几个应用程序版本)时工作正常,但当前文件却不能,至少不是在所有计算机上。这让我相信文件已损坏,但奇怪的是,为什么它在其他一些计算机上工作?如果文件已损坏,您会说它导致了所有计算机上的问题?
所以我接下来想到的是不同的 Access 运行时版本。我测试了 4 台计算机(两台一切正常),另外两台有问题。
- 计算机一(运行良好)是 32 位系统,Access 运行时版本为 15.0.4841
- 计算机二(有问题)是 64 位系统,Access 运行时版本为 15.0.4569
- 计算机三(也有问题)是 32 位系统,Access 运行时版本为 15.0.4833
- 计算机四(我自己的计算机针对本地数据库进行了测试)是一个 64 位系统,Access 运行时版本为 15.0.4849
因此访问文件不起作用的计算机的版本都低于访问文件起作用的计算机的版本,这可能是导致问题的原因吗?如果是的话,我仍然想知道为什么旧的 Access 应用程序文件可以在所有计算机上运行,而当前的却不能..
旁注:
- 还尝试修复其中一台计算机上的访问运行时版本,但没有效果
- 对 Access 文件本身进行压缩和修复也没有任何效果
嗯,简单明了,你不能运行 x32 accDE 数据库与 x64 位 运行time – 它根本行不通。
并且如果 运行time 版本在这些目标机器上不同,那么您需要卸载 运行time,并下载最新版本。 Windows 更新不会更新 运行 时间。对于 运行time 2010,您必须下载并安装 运行time,然后还要下载更新到 运行time。
有了2013,那么运行时间的最新下载总是会包含最新的SP更新。
尝试 运行 以不同的 运行 次访问通常会是一场灾难。并且在尝试使用 x64 位的情况下 运行time 在编译为 x32 的应用程序上根本不起作用。
我还会在您编译为 accDE 之前检查并删除所有不需要的引用。因此,应删除对单词、excel 或其他任何内容的引用,并应使用后期绑定。
无论如何,您要确保所有计算机都使用相同的 运行time 版本,这包括位大小。所以在所有情况下你要确保和使用 x32 位 运行 时间,然后确保所有机器都 运行ning 相同 version/revision 的 运行 时间。
最近我遇到了一些非常奇怪的问题,我无法确定是什么原因造成的。
我有一个使用 SQL 服务器链接表的 Access 前端应用程序。几天前,我部署了一个新的 ACCDE 版本,这导致了一些非常奇怪的问题。
在一台计算机上,我无法从功能区打开表单(一些 21~ 左右的错误记不清了,但这是一个默认的打开表单错误)。经过一些调查,我发现问题是由表单 on-open event
上的 allow additions = false
行引起的。然而,这很奇怪,因为它一直都在那里。除此之外,在几乎所有其他计算机上,包括我的计算机,它都可以正常工作,而代码(和表单、查询等)完全相同..
当尝试在该特定计算机的 accdb 中打开相同的访问文件时,它似乎确实有效(打开是使用运行时版本完成的)。 因此,作为解决方法(暂时),我们确保这台计算机将文件打开为 accdb,而其他计算机(它确实工作的地方)将其打开为 accdde。
然而今天它又出错了,但是在不同的计算机上出现了不同的问题。现在完全不同的形式不会加载它的数据(它是空的)。在本地测试它工作正常但是在另一台计算机上再次测试它(还有运行时版本)它也可以正常打开其中的数据...
奇怪的是,当使用旧文件(之前的几个应用程序版本)时工作正常,但当前文件却不能,至少不是在所有计算机上。这让我相信文件已损坏,但奇怪的是,为什么它在其他一些计算机上工作?如果文件已损坏,您会说它导致了所有计算机上的问题?
所以我接下来想到的是不同的 Access 运行时版本。我测试了 4 台计算机(两台一切正常),另外两台有问题。
- 计算机一(运行良好)是 32 位系统,Access 运行时版本为 15.0.4841
- 计算机二(有问题)是 64 位系统,Access 运行时版本为 15.0.4569
- 计算机三(也有问题)是 32 位系统,Access 运行时版本为 15.0.4833
- 计算机四(我自己的计算机针对本地数据库进行了测试)是一个 64 位系统,Access 运行时版本为 15.0.4849
因此访问文件不起作用的计算机的版本都低于访问文件起作用的计算机的版本,这可能是导致问题的原因吗?如果是的话,我仍然想知道为什么旧的 Access 应用程序文件可以在所有计算机上运行,而当前的却不能..
旁注:
- 还尝试修复其中一台计算机上的访问运行时版本,但没有效果
- 对 Access 文件本身进行压缩和修复也没有任何效果
嗯,简单明了,你不能运行 x32 accDE 数据库与 x64 位 运行time – 它根本行不通。
并且如果 运行time 版本在这些目标机器上不同,那么您需要卸载 运行time,并下载最新版本。 Windows 更新不会更新 运行 时间。对于 运行time 2010,您必须下载并安装 运行time,然后还要下载更新到 运行time。
有了2013,那么运行时间的最新下载总是会包含最新的SP更新。
尝试 运行 以不同的 运行 次访问通常会是一场灾难。并且在尝试使用 x64 位的情况下 运行time 在编译为 x32 的应用程序上根本不起作用。
我还会在您编译为 accDE 之前检查并删除所有不需要的引用。因此,应删除对单词、excel 或其他任何内容的引用,并应使用后期绑定。
无论如何,您要确保所有计算机都使用相同的 运行time 版本,这包括位大小。所以在所有情况下你要确保和使用 x32 位 运行 时间,然后确保所有机器都 运行ning 相同 version/revision 的 运行 时间。