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

ZORTRE 7 Messages postés lundi 29 juillet 2013Date d'inscription 14 février 2018 Dernière intervention - 29 juil. 2013 à 20:21 - Dernière réponse : ZORTRE 7 Messages postés lundi 29 juillet 2013Date d'inscription 14 février 2018 Dernière intervention
- 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

NHenry 14178 Messages postés vendredi 14 mars 2003Date d'inscriptionModérateurStatut 21 mai 2018 Dernière intervention - 29 juil. 2013 à 21:37
0
Utile
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
ZORTRE 7 Messages postés lundi 29 juillet 2013Date d'inscription 14 février 2018 Dernière intervention - 2 août 2013 à 21:17
0
Utile
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
cs_Jack 14010 Messages postés samedi 29 décembre 2001Date d'inscriptionModérateurStatut 28 août 2015 Dernière intervention - 2 août 2013 à 21:55
0
Utile
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
ZORTRE 7 Messages postés lundi 29 juillet 2013Date d'inscription 14 février 2018 Dernière intervention - 3 août 2013 à 00:47
0
Utile
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.