Recordset type incompatible [Résolu]

Messages postés
8
Date d'inscription
mercredi 27 juillet 2005
Dernière intervention
9 juillet 2006
- - Dernière réponse : scyhoman63
Messages postés
8
Date d'inscription
mercredi 27 juillet 2005
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
Afficher la suite 

4 réponses

Meilleure réponse
Messages postés
81
Date d'inscription
jeudi 29 juillet 2004
Dernière intervention
22 juillet 2007
3
Merci
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.

Merci jhary69 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 97 internautes ce mois-ci

Messages postés
3758
Date d'inscription
mardi 23 septembre 2003
Dernière intervention
13 mars 2006
0
Merci
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 !?
Messages postés
8
Date d'inscription
mercredi 27 juillet 2005
Dernière intervention
9 juillet 2006
0
Merci
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
Messages postés
8
Date d'inscription
mercredi 27 juillet 2005
Dernière intervention
9 juillet 2006
0
Merci
Merci


SCYHOMAN63

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.