PRB: ADO: Kompiliavimo klaida: neapibrėžta vartotojo apibrėžta tipas


Simptomai


Kai kompiliuojate ADO projektą, gaunate šį klaidos pranešimą:
Kompiliavimo klaida: neapibrėžta vartotojo apibrėžta tipas
Tai gali įvykti dėl jungimosi arba komandos objekto.

Priežastis


Galite nurodyti vieną iš šių bibliotekų vietoj "Microsoft ActiveX" duomenų objektų (ADODB) tipų bibliotekos:
  • "Microsoft ActiveX" duomenų objektų įrašų rinkinio (ADOR) tipo biblioteka.-arba-
  • "Microsoft ActiveX" duomenų objektai (kelių dimensijų) (ADOMD) tipo biblioteka.

Sprendimas


Pašalinkite netinkamo tipo bibliotekos nuorodą iš projekto ir įtraukite nuorodą į tinkamą tipų biblioteką.

Statusą


Šią problemą galima sukurti pagal dizainą.

Daugiau informacijos


Veiksmai, kaip atkurti veikimą

  1. Sukurkite naują projektą ir į formą įtraukite komandos mygtuką (Command1).
  2. Įtraukite nuorodą į "Microsoft ActiveX" duomenų objektų įrašų rinkinio biblioteką.
  3. Į formą įtraukite šį kodą:
       Private Sub Command1_Click()   Dim cn As ADODB.Connection   End Sub
  4. Paleiskite projektą ir spustelėkite komandos mygtuką. Rodoma klaida.
  5. Pašalinkite nuorodą ir įtraukite nuorodą į "Microsoft ActiveX" duomenų objektų biblioteką.
  6. Spustelėkite komandos mygtuką. Klaida nerodoma.
Pastaba:
  • "Microsoft Access" vartotojams reikės naudoti ADODB. Ryšiui, kad išvengtumėte painiavos su DAO jungties objektu.
  • Jei funkcija IntelliType yra įjungta, turėtumėte pastebėti, kad ji nerodo jungties kaip galiojančio objekto su ADOR tipo biblioteka, bet veikia su ADODB tipo biblioteka. Tai yra gera nuoroda, kad neturite tinkamos tipų bibliotekos nuorodos.
  • Ši klaida taip pat gali įvykti, kai nurodo objektus kitose tipo bibliotekose, kurios nėra nuorodos.