Ms access 断断续续;“未定义UDT”;编译VBA时出错,但代码运行时没有错误

Ms access 断断续续;“未定义UDT”;编译VBA时出错,但代码运行时没有错误,ms-access,vba,Ms Access,Vba,我正在构建一个Access数据库,当我使用Debug>compile编译项目时,我得到了一个“用户定义类型未定义”错误,但是数据库打开并运行时没有任何运行时错误,而且一切似乎都正常。代码中没有给出任何位置,只有一个错误对话框 UDT错误并非每次都发生,但大多数情况下都会发生。如果我在编译时没有打开任何表单,并且我最近打开了Access,那么它似乎可以工作。如果我打开一个表单并再次尝试(在做了一个表面的更改之后,它将允许我重新编译),我会得到错误 然而,这并不总是正确的。我经常在没有打开表单时出错

我正在构建一个Access数据库,当我使用Debug>compile编译项目时,我得到了一个“用户定义类型未定义”错误,但是数据库打开并运行时没有任何运行时错误,而且一切似乎都正常。代码中没有给出任何位置,只有一个错误对话框

UDT错误并非每次都发生,但大多数情况下都会发生。如果我在编译时没有打开任何表单,并且我最近打开了Access,那么它似乎可以工作。如果我打开一个表单并再次尝试(在做了一个表面的更改之后,它将允许我重新编译),我会得到错误

然而,这并不总是正确的。我经常在没有打开表单时出错,但我总是在表单打开时出错。它们在设计或表单视图中是否打开似乎并不重要

这可能是什么原因造成的?我应该寻找什么样的错误


使用Access 2010。

谢谢HansUp,反编译似乎已经解决了这个问题。
您链接的内容很有用。

这里有什么东西吗?没有,我没有使用任何未被引用的内容。我认为该页上提到的DAO3.6对象库已经被MicrosoftOffice14.0Access数据库引擎对象库所取代。当我试图引用它时,我得到一个错误,说它与我已经引用的内容冲突。此外,如果这是问题所在,我希望编译器错误能够识别它遇到的第一个有问题的DAO对象,但它没有给我代码中的位置。错误的引用可能会产生非常混乱的错误。MS Office 14不适用于DAO,如果您希望使用DAO记录集Tony Toews MS,您需要参考DAO对象库——MVP有一整页关于反编译的内容:反编译是您应该半定期做的事情,以及我推荐的所有其他事情。如果处理好代码,首先就不会出现这种奇怪的编译错误。