Voila mon problème : j'ai un classeur Excel (monclasseur) et une base de données (mabase) dans le même dossier.
Ils sont tous les deux dans : C:\mondossier.
Du classeur Excel, je fais une requête (marequete) sur une table de ma base (matable) par du code VBA.
(marequete est également dans C:\mondossier)
Comme je transporte mon dossier avec ma clé USB, je veux pouvoir faire ma requete egalement sur F:\mondossier, ou sur G:\mondossier.
J'ai donc un variable sur mon code VBA :
Set recup = Sheets("Import" )
chemin = ThisWorkbook.Path
With recup.QueryTables.Add(Connection:= _
"FINDER;" & chemin & "\marequete.dqy", Destination:=Range("A1" ))
etc...........
mais le code SQL de marequete, lui , n'a pas de variable dans le FROM :
SELECT matable.Société, matable.Prixtotal,
FROM `C:\mondossier\mabase`.matable
Comment faire trouver à la requete la bonne lettre racine ?
par exemple : FROM `F:\mondossier\mabase`.matable.
Pour l'instant je n'ai trouvé que la solution de créer plusieurs requetes identiques (C_requete, F_requete, etc...) en changeant à chaque fois le FROM C:\ en FROM F:\ ou FROM G:\, etc.
De plus, si je place mon dossier dans un autre dossier, ca ne marche plus, evidemment.
merci d'avance pour vos réponses
(je précise que je ne suis pas très doué en SQL) ![:o :o](https://forum-images.hardware.fr/icones/redface.gif)
Message édité par Colegram le 19-09-2005 à 01:06:26