Симптоми
Когато съставяте своя проект на ADO, получавате следното съобщение за грешка:
Грешка при компилиране: дефиниран от потребителя тип не е дефиниран
Това може да се случи при свързване или команден обект.
Причина
Възможно е да сте препращали към една от следните библиотеки вместо библиотеката с типове данни на Microsoft ActiveX (ADODB):
-
Библиотека на Microsoft ActiveX обекти за набор от данни
-
Microsoft ActiveX обекти с данни (многомерни) (ADOMD) библиотека с типове.
Решение
Премахнете неправилна препратка към библиотека с типове от вашия проект и добавете препратка към правилната библиотека с типове.
Състоянието
Това поведение е по проект.
Повече информация
Стъпки за възпроизвеждане на поведението
-
Създайте нов проект и добавете команден бутон (Command1) към формуляр.
-
Добавяне на препратка към библиотеката за набор записи на Microsoft ActiveX обекти.
-
За формуляра добавете следния код:
Private Sub Command1_Click() Dim cn As ADODB.Connection End Sub
-
Стартирайте проекта и натиснете команден бутон. Появява се грешката.
-
Премахнете препратката и добавете препратка към библиотеката с обекти на Microsoft ActiveX данни.
-
Щракнете върху командния бутон. Грешката не се появява.
Забележка:
-
Потребителите на Microsoft Access ще трябва да използват ADODB. Връзка, за да избегнете объркване с обекта на връзката ДАО.
-
Ако функцията IntelliType е включена, трябва да Забележете, че тя не показва връзката като валиден обект с библиотеката с обичани типове, но не и с библиотеката на типа на ADODB. Това е добър индикатор, на който не е посочена правилната библиотека с типове.
-
Тази грешка може да възникне и когато препращате към обекти в други типове библиотеки, към които не се препраща.