ZORTRE
Messages postés7Date d'inscriptionlundi 29 juillet 2013StatutMembreDernière intervention14 février 2018
-
29 juil. 2013 à 20:21
ZORTRE
Messages postés7Date d'inscriptionlundi 29 juillet 2013StatutMembreDernière intervention14 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.
NHenry
Messages postés15113Date d'inscriptionvendredi 14 mars 2003StatutModérateurDernière intervention22 avril 2024159 29 juil. 2013 à 21:37
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.
ZORTRE
Messages postés7Date d'inscriptionlundi 29 juillet 2013StatutMembreDernière intervention14 février 2018 2 août 2013 à 21:17
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!
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 2 août 2013 à 21:55
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 !