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)
Message édité par Colegram le 19-09-2005 à 01:06:26