Source de Données dans MS-QUERY

N

NMD

Guest
Bonjour,

J'ai un fichier Excel avec un bon nombre de requêtes vers une base Access.
La connexion à la source de données passe par un ODBC Access.
Malheureusement, lorsque l'on créé les requêtes via MS-Query, celui-ci écrit le chemin de la BDD en dur (Select table.champ from 'C:\\BDD.mdb'.table ...) !
J'ai beau modifier le paramétrage de l'ODBC en pointant sur une autre base, les requêtes ne peuvent pas s'éxecuter car elles recherchent toujours la BDD d'origine !

Connaissez-vous un moyen de paramétrer le chemin de la BDD dans MS-Query pour qu'il pointe sur ce qui est défini dans l'ODBC (ou un autre moyen de paramétrer l'accès à la base) ? Je souhaite pouvoir paramétrer facilement cela car ma vingtaine de requêtes pointent sur la même base ... c'est lourd de devoir modifier toutes les requêtes pour pointer sur une autre base !!! :eek:

J'ai fouillé partout ... rien trouvé ! Pourtant, j'espère quand-même que Microsoft a prévu cette fonctionnalité !

Merci à tous pour votre aide :)
 

Gael

XLDnaute Barbatruc
Bonjour NMD,

Je t'envoie ci-dessous un extrait de l'aide MSQuery sur la partie chemin d'accès, tu as peut-être déjà essayé mais c'est tout ce que j'ai trouvé:

'Alternative à l'affectation du lecteur Si vous utilisez le pilote Microsoft Access ou le pilote Microsoft Excel, vous pouvez remédier à ce problème en créant une nouvelle source de données. Quand vous spécifiez la position du fichier de base de données, ne sélectionnez pas le lecteur affecté au répertoire réseau partagé. Au lieu de cela, tapez l'adresse UNC du répertoire réseau partagé et recherchez ensuite le fichier de base de données. Par exemple, si votre fichier de base de données est stocké sur un serveur appelé Shared, vous pouvez taper \\\\Shared\\public et sélectionner ensuite le fichier Inventory.mdb.'

@+

Gael
 
N

NMD

Guest
Salut Gaël,

Merci pour ta réponse. Elle ne correspond pas tout à fait à ma requête.
En fait, ce que je cherche à faire est d'utiliser une variable dans MS-QUERY qui pointe sur une base de données:

Exemple: Select T.champ from %BDD%.nom_base.mdb.table T

Ensuite je peux affecter %BDD% = C:\\ ou D:\\Rep1\\BDD\\ en fonction de la base que je veux attaquer.

J'ai essayé vainement d'utiliser les variables d'environnement ! MS-QUERY ne reconnaît pas la syntaxe %variable_environnement% ?!?! :sick:

------------

Une autre solution aurait été d'utiliser un lien ODBC mais en faisant cela, MS-QUERY utilise le lien ODBC pour aller lire le chamin de la base et l'écrit en dur dans la requête ! Je pense donc que cette voie est une impasse ! ? :eek:


Voilà, j'espère avoir préciser un peu mieux mon problème !
Avis aux amateurs ! Microsoft n'a-t-il prévu cette possibilité ? Auquel cas, c'est bien peu industriel !

Merci à vous !
 

michel_m

XLDnaute Accro
Bonjour,

Ms-Query est un assistant qui permet d'effectuer des requ^tes sans savoir programmer, donc...

Il est pratique pour UNE table dans UNE base de données, sur UN SEUL poste et SANS VARIATION du nombre d'enregistrement. De toutes façons tu as intérêt à réserver une feuille Excel uniquement au résultat de la requête... C'est ce qui m'a amener à migrer vers DAO puis ADO

Puisque tu manipules SQL, le mieux est de passer avec la technologie JET-ADO.

Avec Michel XLD on a pas mal bossé (surtout lui !) là dessus et tu pourras trouver des exemples dans son wiki

https://www.excel-downloads.com/threads/ref-wiki-1-de-michelxld-generalites-excel.92356/

faudra peut-être cliquer sur 'actualiser' pour atteindre la page

Bon courage

Michel
 

Discussions similaires

Réponses
6
Affichages
336

Statistiques des forums

Discussions
312 345
Messages
2 087 450
Membres
103 546
dernier inscrit
mohamed tano