作为一个背景,我们是一个小型Access软件公司,与超过150个客户站点合作超过10年。我们有5个不同的应用。我们的主要产品有超过30,000行vba和约400种表格和报告。我告诉你这个背景,因为我们认为我们知道我们的vba和访问权限。我们通常在Access 2003中工作,但在Access 2k中编译和分发,有时我们将在Access 2002,2007和2010中工作。
我们遇到了一个问题,在过去一周左右,我们的一些(不是全部)应用程序将不允许我们在某些机器上编译。上周我们遇到了一个问题,其中一个windows7框在Access 2003经常崩溃(这似乎在XP机器上的编译中纠正自己并且只在Access 2k中工作),本周第二个胜利7盒有问题一个特定的应用程序(不会编译 - 打开ADO记录集时出错)。这似乎是在安装Access 2010之后开始的。现在似乎已经“扩散”到其他机器上。
我们认为它很可能是一个ADO参考问题,但它很奇怪,因为其他应用程序与在同一台PC上具有相同引用的其他应用程序和相同的代码行完好无损。
到目前为止,我们已经尝试过,所有机器都是最新的MS补丁。我们已经卸载并重新安装了各种版本的访问权限。它似乎更糟(并且开始)Win 7但我们现在有一个版本不能在XP Pro或Vista上兼容。我们已经使用了4年或5年的这些机器中的一些并且没有这样的问题。感谢您的反馈意见。
答案 0 :(得分:0)
这听起来很可疑,就像在安装了SP1的Windows 7 64位上编译所引起的问题一样。这会导致代码在没有64位Windows SP1的计算机上无法运行。
解决方案是在Windows 7 64位的SP1之前安装上进行编译。
而且,是的,这是一个可怕的,可怕的问题。
答案 1 :(得分:0)
感谢您的回答 - 我们不相信这是补丁级别,因为我们不会同时升级所有计算机 - 它可能与Access 2010有关,也可能与ADO相关,尽管我们还没有能够证明这一点。
无论如何,对于今后遇到此问题的其他人,我们通过采用另一个(完全不同的)正确编译的应用程序,删除所有对象(表单,报表等)并复制所有对象来解决问题没有编译到(现在为空)的应用程序。重新编译现在可以正常工作。