Recordset type incompatible

Résolu
scyhoman63 Messages postés 8 Date d'inscription mercredi 27 juillet 2005 Statut Membre Dernière intervention 9 juillet 2006 - 9 août 2005 à 09:28
scyhoman63 Messages postés 8 Date d'inscription mercredi 27 juillet 2005 Statut Membre Dernière intervention 9 juillet 2006 - 10 août 2005 à 10:27
Salut a tous ma question et la suivante:

lorsque dans mon code je declare mavariable rs comme recordset
Dim rs As Recordset
lorsque j'arrive a la ligne
Set rs = db.OpenRecordset(sql, dbOpenDynaset)
j'obtient une erreur de type 13 'type incompatible'
J'ai contourne le probleme en ne declarant pas rs mais j'aimerais bien comprendre!
merci d'avance


SCYHOMAN63

4 réponses

jhary69 Messages postés 81 Date d'inscription jeudi 29 juillet 2004 Statut Membre Dernière intervention 22 juillet 2007
9 août 2005 à 11:35
salut,

qu tu fais un Dim rs as Recordset, vb consideres ton recordset comme provenant de ta 1ere reference declarée et qui contient un objet recordset du coup il ne prend peut etre pas le bon type de rs ... pour resoudre le pb, ajoute devant Recorset l'objet de base de ton RS (ADO, DAO, ...)

exemple concret :

le openrecordset de db te renvoi un objet dao si je ne me trompe pas donc il faudrait faire un

Dim rs as DAO.recordset

sinon si dans tes references tu as ADO devant DAO dans ta liste, il va le crée en recordset ADO et du coup Erreur 13. Ca peut aussi venir du fait que tu as ajouté ADO et pas DAO dans tes references ...

A+

Christophe.
3
cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 20
9 août 2005 à 11:39
Salut,
Visiblement tu utilises DAO. Et, si tu prog en vb6, tu as dù cocher dans les références "Microsoft DAO ...." sinon ce serait un autre msg d'erreur.
Donc, comment déclares-tu et initialises-tu db ?
Et que contient sql ? "select .....", "delete ....", "insert....", "update....",....

Si ce n'est pas un "select....", il faudrait plutôt coder :

db.execute sql

-------------------------------------------------
Dresseur de puces, .... normal pour un loup !?
0
scyhoman63 Messages postés 8 Date d'inscription mercredi 27 juillet 2005 Statut Membre Dernière intervention 9 juillet 2006
9 août 2005 à 12:16
Voila a quoi resemble le debut de mon code:
Dim db As Database
Dim rs As Recordset
Dim sql As string

Private Sub Form_load()

Set db=Opendatabase("F:\Pays.mdb")
sql="SELECT * FROM Pays_tbl"
Set rs = db.OpenRecordset(sql, dbOpenDynaset)

Je testerai la reponse ce soir!


SCYHOMAN63
0
scyhoman63 Messages postés 8 Date d'inscription mercredi 27 juillet 2005 Statut Membre Dernière intervention 9 juillet 2006
10 août 2005 à 10:27
Merci


SCYHOMAN63
0
Rejoignez-nous