Incompatibilité de type!! [Résolu]

Signaler
Messages postés
64
Date d'inscription
mardi 5 septembre 2006
Statut
Membre
Dernière intervention
27 septembre 2007
-
Messages postés
1141
Date d'inscription
mercredi 7 mars 2007
Statut
Membre
Dernière intervention
19 septembre 2007
-
voila mon probleme, tout ce que je veut faire c'est afficher des ligne d'une table, j'ai inseré ce code la :



Dim ligne As New ADOB.Recordset
Set lignes = curentDB.OpenRecordset("Select * from Niveau where niveau=1", dbOpenDynaset)

lignes.movefirst
do while ligne.EOF = FALSE
   'mes operations
loop

la il m'affiche: Erreur d'execution '13':  Incompatibilité de type

et il m'indique la ligne 2......

j'ai regarder dans tout le forum , y'a plein de gens qui ont ce probleme mais aucun n'a eu une solution, j'ai presque tout essayer, j'ai essayer avec

dim db as database
ou
des ecritures differentes de OpenRecordset

le DAO 2.5 est coché.... et les tables sont presents dans le meme ficher ou je code....

je vous en prie aider moi

11 réponses

Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
48
Salut,
Si tu utilises DAO pourquoi déclares tu lignes en ADOB
Essaie peu être de mettre

Dim Lignes As New DAO.Recordset
ou simplement
Dim Lignes As DAO.Recordset

@+: Ju£i?n
Pensez: Réponse acceptée
Messages postés
169
Date d'inscription
mardi 15 juillet 2003
Statut
Membre
Dernière intervention
7 avril 2008
2
Salut,

Regarde un peu mieux la déclaration de tes variables :

Dim ligne as New ADOB.Recordset

et ensuite

set lignes =curentDB.OpenRecordset("Select * from Niveau where niveau=1", dbOpenDynaset)

pas étonnant qu'un variant soit icompatible avec un objet.

Parfois la solution est sous nos yeux, rajoute un s à ligne dans ta déclaration et dans ton Do While et ça devrait miieux aller.

@+++

[mailto:K@lobit K@lobit] < Ne pas clicker ici
Mon Site < Mais ici
Messages postés
64
Date d'inscription
mardi 5 septembre 2006
Statut
Membre
Dernière intervention
27 septembre 2007

desolé je me suis trompé juste en ecrivant sur le forum (vu que je travaille sur 2 ordis je ne fais pas des copier coller)

dans mon code il y a le "s" mais ca marcha pas qd meme...
Messages postés
797
Date d'inscription
mardi 7 juin 2005
Statut
Membre
Dernière intervention
23 février 2011
5
Si tu déclares ADO et que DAO est coché, pas étonnant qu'une ligne comme Dim DB as database ne fonctionne pas.

Déjà, choisi quel type de connection tu veux faire et décoche la la référence que tu ne veux pas utiliser.

Ensuite, c'est peut être lié encore à une erreur de recopie dans ton post mais ce n'est pas CurentDB, mais CurRentDB

Molenn
Messages postés
1241
Date d'inscription
mardi 10 octobre 2006
Statut
Membre
Dernière intervention
27 août 2013
4
Salut,



Set lignes = curentDB.OpenRecordset("Select * from Niveau where niveau=1", dbOpenDynaset)



Tu as une table Niveau avec un champ qui s'appelle niveau dedans??Essaye peut-être de changer le nom de ton champ.
Messages postés
1141
Date d'inscription
mercredi 7 mars 2007
Statut
Membre
Dernière intervention
19 septembre 2007
1
Il me semble que j'ai deja vu ton pb. Meme si en effet, ADO est preferable, je pense que le pb vient de l'argument AdOpenDynaset

Essaies avec AdOpenTable (je crois que c'est ca).
Messages postés
1141
Date d'inscription
mercredi 7 mars 2007
Statut
Membre
Dernière intervention
19 septembre 2007
1
Ou dbOpentable
Messages postés
1141
Date d'inscription
mercredi 7 mars 2007
Statut
Membre
Dernière intervention
19 septembre 2007
1
Moi, je l'ai utilisé de cette maniere:


Dim rs As Recordset


Set rs= CurrentDb.OpenRecordset("A", dbOpenTable) 'A est le nom de la table
rs.MoveNext
.
.
.
.
Set rs= Nothing
Messages postés
64
Date d'inscription
mardi 5 septembre 2006
Statut
Membre
Dernière intervention
27 septembre 2007

salut, deja merci pour toute vos reponse

oui dans ma table niveau y'a aussi une colonne niveau, mais bon j'ai deja essayer avec une autre table c la meme chose

oui j'avait bien ecrit currentDb et non pas curentDb, desolé encore une fois pour cette erreur sur le forum


en fait je ne voit pas du tout la difference entre DAO et ADOB c'est quoi la difference? comment on utilise chacune de ces deux methode et surtout qu'est ce que je doit cocher pour que ca marche?? 
Messages postés
64
Date d'inscription
mardi 5 septembre 2006
Statut
Membre
Dernière intervention
27 septembre 2007

ca marche, g juste remplacer ma ligne par la ligne proposé par jirvet:



Dim Lignes As DAO.Recordset


mais je vois pas encor la difference entre dao et adob....
Messages postés
1141
Date d'inscription
mercredi 7 mars 2007
Statut
Membre
Dernière intervention
19 septembre 2007
1
Si tu as la curiosité d'aller voir comment se connecter a une base en ADO, tu verras bien la difference.