症状
编译 ADO 项目时,会收到以下错误:
编译错误:未定义用户定义的类型
这种情况可能出现在连接或命令对象上。
原因
你可能引用了下列库之一,而不是 Microsoft ActiveX 数据对象(ADODB)类型库:
-
Microsoft ActiveX 数据对象记录集(ADOR)类型库。-或-
-
Microsoft ActiveX 数据对象(多维)(ADOMD)类型库。
解决方案
从项目中删除不正确的类型库引用,然后添加对正确类型库的引用。
状态
这是设计的行为。
更多信息
再现行为的步骤
-
创建新项目并向窗体添加命令按钮(Command1)。
-
添加对 Microsoft ActiveX 数据对象记录集库的引用。
-
将以下代码添加到窗体:
Private Sub Command1_Click() Dim cn As ADODB.Connection End Sub
-
运行项目,然后单击命令按钮。 出现该错误。
-
删除引用,然后添加对 Microsoft ActiveX 数据对象库的引用。
-
单击命令按钮。 错误不会出现。
注意:
-
Microsoft Access 用户将必须使用 ADODB。连接以避免与 DAO 连接对象混淆。
-
如果 Intellitype 功能已打开,你应注意到它不会将连接显示为具有 ADOR 类型库的有效对象,但不会将其显示为具有 ADODB 类型库的有效对象。 这是一个很好的指示你没有引用正确的类型库。
-
当引用其他类型库中未引用的对象时,也可能会发生此错误。