Utilisateur anonyme
-
22 sept. 2006 à 08:37
cs_MPi
Messages postés3877Date d'inscriptionmardi 19 mars 2002StatutMembreDernière intervention17 août 2018
-
22 sept. 2006 à 11:50
Hello all,
Voilou j'essaye d'établir une connexion access via VBA mais ca ne marche pas, en fait la connexion marche, mais pas la requete que je fais derriere, en effet en retour j'ai une erreur du type: 3011, microsoft jet ne trouve pas l'objet "select nom from...." verifier que vous l'avez bien ecrit etc, alors OUI tout est bien ecrit, la casse est respecté, la table et les champs sont les bons, je pense avoir activé la reference activex et ADO (meme si je ne m'en sers pas)... donc si vous pouviez m'aider, voici mon code:
Public Sub main()
Dim db As Database
Dim Rst As Recordset
Dim StrSql As String
Set db = OpenDatabase("c:\TEMP\CodageEfv.mdb")
StrSql "SELECT nom FROM CODAGE WHERE CODAGE!Dossier 03010226"
Set Rst = db.OpenRecordset(StrSql, dbOpenTable)
MsgBox Rst.Fields("nom").Value
Rst.Close
db.Close
Set Rst = Nothing
MsgBox ("hello") //verifier qu'il arrive au bout du programme
End Sub
ps:
*j'ai fais la requete en SQL direct sous access, elle marche, mais en sql j'ai le droit de mettre des "" pour les chiffres, pas en VBA sinon il croit que c'est la fin de la requete, odnc peut etre qu'il y a une erreur ici ?
*j'ai eu un avis qui m'a dis que pour selectionner mon champs, il fallait mettre table!champs et non table.champs (comme en access) ?
HELP !!!
sinon je vais devoir passer en ado ou dao mais je sais pas la difference ni m'en servir ^^
Renfield tu me degoute la, j'ai apsser une après midi a chercher et toi tu viens tu fais ca en 2 secondes, le monde est injuste
Nan merci sincérement, par contre je ne sais pas d'ou venais la vrai erreur, en effet avant d'essayer ta méthode j'ai decocher les reference ADO de VBA, c'était peut etre du à cela également, car je n'ai aps besoin de reference ici, et puis enlever le dbopentable, je l'avais deja fais mais ca ne marcher pas...bizarre!
cs_MPi
Messages postés3877Date d'inscriptionmardi 19 mars 2002StatutMembreDernière intervention17 août 201823 22 sept. 2006 à 11:50
Selon la méthode de connexion que tu utilises, c'est DAO que tu dois
utiliser et non pas ADO. Et tu n'as pas le choix que de le déclarer
sinon Database et Recordset ne seront pas reconnus...