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ée 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, et si vous n'utiliserez pas ADO, désélectionnez 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, simplement 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.Recordset
Pour plus de détails sur l'utilisation des références dans votre
application, consulter l'article suivant.