PRB: ADO: σφάλμα μεταγλώττισης: ο τύπος που ορίζεται από το χρήστη δεν έχει οριστεί


Συμπτώματα


Κατά τη μεταγλώττιση του έργου σας ADO, λαμβάνετε το ακόλουθο σφάλμα:
Σφάλμα μεταγλώττισης: ο τύπος που ορίζεται από το χρήστη δεν έχει οριστεί
Αυτό μπορεί να συμβεί είτε σε ένα αντικείμενο Connection είτε σε ένα αντικείμενο Command.

Αιτία


Μπορεί να έχετε αναφέρει μία από τις παρακάτω βιβλιοθήκες αντί για τη βιβλιοθήκη τύπων αντικειμένων δεδομένων Microsoft ActiveX (ADODB):
  • Βιβλιοθήκη τύπου Recordset Data Objects του Microsoft ActiveX (ΛΑΤΡΕΎω).-or-
  • Βιβλιοθήκη τύπων αντικειμένων δεδομένων Microsoft ActiveX (πολυδιάστατη) (ADOMD).

Επίλυση


Καταργήστε την αναφορά βιβλιοθήκης εσφαλμένου τύπου από το έργο σας και προσθέστε μια αναφορά στη σωστή βιβλιοθήκη τύπων.

Κατάσταση


Αυτή η συμπεριφορά οφείλεται στη σχεδίαση.

Περισσότερες πληροφορίες


Βήματα για την αναπαραγωγή της συμπεριφοράς

  1. Δημιουργήστε ένα νέο έργο και προσθέστε ένα κουμπί εντολής (Command1) σε μια φόρμα.
  2. Προσθέστε μια αναφορά στη βιβλιοθήκη Recordset των αντικειμένων δεδομένων Microsoft ActiveX.
  3. Προσθέστε τον ακόλουθο κώδικα στη φόρμα:
       Private Sub Command1_Click()   Dim cn As ADODB.Connection   End Sub
  4. Εκτελέστε το έργο και κάντε κλικ στο κουμπί εντολής. Εμφανίζεται το σφάλμα.
  5. Καταργήστε την αναφορά και προσθέστε μια αναφορά στη βιβλιοθήκη αντικειμένων δεδομένων Microsoft ActiveX.
  6. Κάντε κλικ στο κουμπί εντολής. Το σφάλμα δεν εμφανίζεται.
Σημείωση:
  • Οι χρήστες της Microsoft Access θα πρέπει να χρησιμοποιούν το ADODB. Σύνδεση για να αποφύγετε τη σύγχυση με το αντικείμενο Connection DAO.
  • Εάν η δυνατότητα του Κέντρου για ποντίκια είναι ενεργοποιημένη, θα πρέπει να παρατηρήσετε ότι δεν εμφανίζει τη σύνδεση ως έγκυρο αντικείμενο με τη βιβλιοθήκη τύπου "ΛΑΤΡΕΎω", αλλά με τη βιβλιοθήκη τύπων ADODB. Αυτή είναι μια καλή ένδειξη ότι δεν έχετε αναφέρει τη σωστή βιβλιοθήκη τύπων.
  • Αυτό το σφάλμα μπορεί επίσης να προκύψει κατά την αναφορά αντικειμένων σε άλλες βιβλιοθήκες τύπων που δεν αναφέρονται.