2011-09-30 55 views
0

我正在構建Access數據庫,並且在使用Debug> Compile編譯項目時出現「用戶定義類型未定義」錯誤,但數據庫打開並運行時沒有任何運行時錯誤,並且一切似乎都起作用。代碼中沒有位置,只是一個錯誤對話框。編譯VBA時代碼間歇性的「UDT未定義」錯誤,但代碼無誤運行

UDT錯誤不會每次都發生,但它確實發生在大部分時間。如果我在編譯時沒有打開任何表單,並且最近打開了Access,它似乎可以工作。如果我打開表單並重試(在進行了表面修改之後,它會允許我重新編譯),我得到了錯誤信息。

然而這並不是真實的。當沒有任何表單打開時,我經常會遇到錯誤,但我總是在表單打開時發生錯誤。如果他們在設計或表單視圖中開放似乎並不重要。

這可能是什麼原因造成的?我應該尋找什麼樣的錯誤?

使用Access 2010.

+0

這裏的任何事情:http://support.microsoft.com/kb/289664? – Fionnuala

+0

不,我沒有使用任何未被引用的東西。我認爲該頁面上提到的DAO 3.6對象庫已被Microsoft Office 14.0 Access數據庫引擎對象庫取代。當我嘗試引用它時,我收到一個錯誤,指出它與我已經引用的內容相沖突。此外,如果這是問題,我會希望編譯器錯誤識別它遇到的第一個違規的DAO對象,但它沒有給我在代碼中的位置。 – jasongetsdown

+0

錯誤的引用可能會導致非常容易混淆的錯誤。 – Fionnuala

回答

1

感謝HansUp,反編譯似乎已經解決了這個問題。 您鏈接的instructions是有幫助的。

+0

反編譯是您應該半定期執行的操作,以及我推薦的所有其他操作。如果你照顧你的代碼,首先你不會有這些奇怪的編譯錯誤。 –

+0

經驗教訓。我現在每天反編譯兩次。 – jasongetsdown