---Soumis par Dev Ashish---
Access 2000: Type Mismatch ou User Defined Type Not Defined
Quand vous créer une nouvelle base de données en Access 2000, la bibliothèque de données par défaut est ADO. C'est bien la référence à ADO, en effet, qu'on retrouve sélectionné sous le menu Tools/References... (Outils/Bibliothèques...) depuis l'environnement de programmation, et non pas la référence à DAO. Les bases de données converties conservent leur référence à DAO et ADO n'est alors pas sélectionné dans les références du projet.
Le "Type Mismatch" survient lorsqu'on essaie, par exemple, d'utiliser ADODB.Recordset au lieu de DAO.Recordset, alors que l'erreur "User Defined Type Not Defined" est générée si on essaie de dimensionner (Dim) un objet comme un type Database, type de données inexistant sous ADO.
Pour fixer ce problème, dé-sélectionner la référence à ADO et sélectionner DAO 3.6 Library comme nouvelle référence.
Vous pouvez continuer à recevoir ce message d'erreur si vous possédez les deux références ADO et DAO sélectionnées. Cela se produit si vous vous référez à DAO, mais que ADO est listé plus "haut", en premier. Pour changer cet ordre, dans la boîte de dialogue:
- Dé-sélectionner la référence à ADO.
- Fermer le dialogue de Références.
- Ouvrir le dialogue à nouveau.
- Sélectionner la référence ADO.
- Fermer le dialogue.
- (alternativement, sélectionner ADO et déplacer à l'aide des flèches de part et d'autres de l'étiquette "Priority")
Si vous travaillez avec une base de données qui nécessite les deux références, ADO et DAO, la meilleure façon est encore d'utiliser le nom de la bibliothèque lors de la qualification du type:
Dim rsCustomers as ADODB.Recordset
Dim rsInvoices as DAO.RecordsetPour plus de détails sur l'utilisation des références dans votre application, consulter l'article suivant.
Article ID: Q197110
ACC2000: References to Set When Working with Microsoft Access