Problème de Compatibilité dans VB6 [Résolu]

Messages postés
7
Date d'inscription
lundi 29 juillet 2013
Dernière intervention
14 février 2018
- - Dernière réponse : ZORTRE
Messages postés
7
Date d'inscription
lundi 29 juillet 2013
Dernière intervention
14 février 2018
- 3 août 2013 à 00:47
Salut!
J'ai un souci concernant la connexion à une base de donnée plus précisément avec Recordset, voici mon code:
 Option Explicit
Dim bd As Database
Dim rs As Recordset

Private Sub Form_Load()

   Set bd = OpenDatabase(App.Path & "\" & "MaBase.mdb")
   Set rs = bd.OpenRecordset("Tab_But", dbOpenDynaset)


Après exécusion, on m'affiche cette erreur : Type Incompatible
Et l'erreur concerne ce code
Set rs = bd.OpenRecordset("Tab_But", dbOpenDynaset)


Ma seconde préoccupation, est que dans la même application, j'ai utilisé le Composant WindowsMediaPlayer, au début cela marchait à merveille mais, depuis hier je n'arrive plus à joueur une chanson avec; au fait, ça marche pas et on m'affiche aucune erreur.
Merci pour votre compréhension.
Afficher la suite 

Votre réponse

4 réponses

Messages postés
14323
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
15 décembre 2018
0
Merci
Bonsoir,

Une question par message.

DAO est à ééviter, il est obsolète depuis longtemps, préfères utiliser ADO.
Sinon, si ADO et DAO sont référencé dans ton projet, il faut dire au quel il faut utiliser le Recordset.
Commenter la réponse de NHenry
Messages postés
7
Date d'inscription
lundi 29 juillet 2013
Dernière intervention
14 février 2018
0
Merci
S'il vous plaît NHenry, je voudrais avoir une explication à propos de votre intervention dans laquelle vous dites: <si ADO et DAO sont référencé dans ton projet, il faut dire au quel il faut utiliser le Recordset.>.
Au fait, en vérité je ne sais pas comment je m'y prendre.
Merci pour votre compréhension!

ZORTRE
Commenter la réponse de ZORTRE
Messages postés
14010
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
0
Merci
Salut

DAO est le type de moteur utilisé lorsqu'on dimensionne des objets "As Database" ou "As RecordSet"
DAO est obsolète (dépassé) et toutes ses fonctions ne sont pas opérationnelles, notamment sa méthode .Find.
Il faut utiliser ADODB : Ajoute une référence à "Microsoft ActiveX Data Objects 2.8 Library" qui est le fichier "msado28.tlb".
Ensuite, dimensionne tes objets comme :
Dim db As ADODB.Connection
Dim rs As ADODB.RecordSet
Tu trouveras des exemples parmi les sources sur le site, car il te faudra trouver la chaine de connexion correcte (ConnectionString) pour la connexion initiale.

Quant à ton erreur sur :
bd.OpenRecordset("Tab_But", dbOpenDynaset)
cela vient du fait que dbOpenDynaset signifie que tu veux ouvrir une requête déjà présente dans ta base de données (procédure stockée).
Voir rs.Open sous ADODB

Encore une fois, de multiples exemples existent parmi les sources disponibles sur le site : Charges-en quelques une et tu sauras vite comment faire !
Commenter la réponse de cs_Jack
Messages postés
7
Date d'inscription
lundi 29 juillet 2013
Dernière intervention
14 février 2018
0
Merci
Merci beaucoup!
Commenter la réponse de ZORTRE

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.