PROBLÈME : ADO : erreur de compilation : type défini par l’utilisateur non défini


Symptômes


Lorsque vous compilez votre projet ADO, vous recevez le message d’erreur suivant :
Erreur de compilation : type défini par l’utilisateur non défini
Cela peut se produire sur un objet de connexion ou de commande.

Cause


Il est possible que vous ayez référencé une des bibliothèques suivantes au lieu de la bibliothèque de types Microsoft ActiveX Data Objects (ADODB) :
  • Bibliothèque de types de jeu d’enregistrements de données Microsoft ActiveX (ADOR).-ou-
  • Bibliothèque de type Microsoft ActiveX Data Objects (ADOMD).

Résolution


Supprimez la référence de bibliothèque de types incorrecte de votre projet, puis ajoutez une référence à la bibliothèque de types appropriée.

Statut


Ce comportement est inhérent au produit.

Informations supplémentaires


Étapes de reproduction du comportement

  1. Créer un projet et ajouter un bouton de commande (Command1) à un formulaire.
  2. Ajoutez une référence à la bibliothèque de jeux d’enregistrements Microsoft ActiveX Data Objects.
  3. Ajoutez le code suivant au formulaire :
       Private Sub Command1_Click()   Dim cn As ADODB.Connection   End Sub
  4. Exécutez le projet, puis cliquez sur le bouton de commande. Le message d’erreur s’affiche.
  5. Supprimez la référence, puis ajoutez une référence à la bibliothèque Microsoft ActiveX Data Objects.
  6. Cliquez sur le bouton de commande. Le message d’erreur ne s’affiche pas.
Remarque:
  • Les utilisateurs de Microsoft Access doivent utiliser ADODB. Connexion afin d’éviter toute confusion avec l’objet de connexion DAO.
  • Si la fonctionnalité IntelliType est activée, vous remarquerez qu’elle n’affiche pas la connexion en tant qu’objet valide avec la bibliothèque de types ADOR, mais avec la bibliothèque de types ADODB. C’est une bonne indication que vous ne disposez pas de la bibliothèque de types appropriée.
  • Cette erreur peut également se produire lors du référencement d’objets dans d’autres bibliothèques de types qui ne sont pas référencées.