2011-09-20 47 views
1

作爲一個背景,我們是一個小型的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年的這些機器中的一些,並且沒有這樣的問題。感謝您預期您的反饋。

+0

看看是否有幫助:http://allenbrowne.com/bug-17.html – Fionnuala

回答

0

這聽起來很像造成在Windows 7上編譯安裝了SP1 64位的問題。這會導致代碼無法在沒有64位Windows SP1的計算機上運行。

的解決方案是在Windows上編譯7的64位的預SP1安裝。

而且,是的,這是一個可怕的,可怕的問題。

0

感謝您的回答 - 我們不相信這是補丁程序級別,因爲我們不會同時升級機器 - 它可能與Access 2010和ADO的相關參考有關,儘管我們沒有能夠證明這一點。

無論如何,對於將來有這個問題的任何人,我們通過採用另一個(完全不同的)編譯正確的應用程序來解決問題,刪除所有對象(表單,報告等)並從所有對象一個沒有編譯到(現在是空的)應用程序。重新編譯現在很好地工作。

+0

這是對我的評論的回覆,應該發佈在那裏,而不是作爲答案。你所描述的聽起來很像SP1問題,因爲它是對ADO的引用引起了問題。 MS提供的兩種解決方案是在沒有SP1的計算機上編譯,或者在後期使用ADO時進行編譯。 –