Recordset type incompatible [Résolu]

scyhoman63 8 Messages postés mercredi 27 juillet 2005Date d'inscription 9 juillet 2006 Dernière intervention - 9 août 2005 à 09:28 - Dernière réponse : scyhoman63 8 Messages postés mercredi 27 juillet 2005Date d'inscription 9 juillet 2006 Dernière intervention
- 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
jhary69 81 Messages postés jeudi 29 juillet 2004Date d'inscription 22 juillet 2007 Dernière intervention - 9 août 2005 à 11:35
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

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 76 internautes ce mois-ci

cs_CanisLupus 3758 Messages postés mardi 23 septembre 2003Date d'inscription 13 mars 2006 Dernière intervention - 9 août 2005 à 11:39
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 !?
scyhoman63 8 Messages postés mercredi 27 juillet 2005Date d'inscription 9 juillet 2006 Dernière intervention - 9 août 2005 à 12:16
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
scyhoman63 8 Messages postés mercredi 27 juillet 2005Date d'inscription 9 juillet 2006 Dernière intervention - 10 août 2005 à 10:27
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.