打开ADO记录集时出现编译错误 - 可能的参考问题?
作为一个背景,我们是一个小型的Access软件公司,拥有超过150个客户站点,有10多年的工作经验。我们有5个不同的应用。我们的主要产品有超过30000行vba和大约400个表格和报告。我告诉你这个背景,因为我们认为我们知道我们的vba和访问。我们通常在Access 2003中工作,但在Access 2k中编译和分发,偶尔我们将在Access 2002,2007和2010中工作。打开ADO记录集时出现编译错误 - 可能的参考问题?
我们遇到了一个问题,在上周左右的时间里,有些(并非全部)我们的应用程序不允许我们在某些机器上编译。上周我们曾与一个Windows7的对话框,在Access 2003中,定期崩溃(这似乎纠正本身XP的机器和amove上编译在Access 2K仅worko),本周第二个问题赢7箱有问题一个特定的应用程序(不会编译 - 打开ADO记录集时出错)。这似乎是在安装Access 2010之后开始的。现在似乎已经“传播”到其他计算机。
我们认为其最有可能的ADO引用问题,但它是怪异的其他应用程序与在同一台电脑上相同的引用代码请编译OK同一线路的其他应用程序。
我们迄今尝试过,所有的机器都是最新的与最新的MS补丁。我们卸载并重新安装了各种版本的访问。它似乎更糟(并开始)赢7,但我们现在有一个版本,不会在XP专业版或Vista上complile。我们已经使用了4或5年的这些机器中的一些,并且没有这样的问题。感谢您预期您的反馈。
这听起来很像造成在Windows 7上编译安装了SP1 64位的问题。这会导致代码无法在没有64位Windows SP1的计算机上运行。
的解决方案是在Windows上编译7的64位的预SP1安装。
而且,是的,这是一个可怕的,可怕的问题。
感谢您的回答 - 我们不相信这是补丁程序级别,因为我们不会同时升级机器 - 它可能与Access 2010和ADO的相关参考有关,尽管我们没有能够证明这一点。
无论如何,对于将来有这个问题的任何人,我们通过采用另一个(完全不同的)编译正确的应用程序来解决问题,删除所有对象(表单,报告等)并从所有对象一个没有编译到(现在是空的)应用程序。重新编译现在很好地工作。
这是对我的评论的回复,应该发布在那里,而不是作为答案。你所描述的听起来很像SP1问题,因为它是对ADO的引用引起了问题。 MS提供的两种解决方案是在没有SP1的计算机上编译,或者在后期使用ADO时进行编译。 –
看看是否有帮助:http://allenbrowne.com/bug-17.html – Fionnuala