Bonjour,
Je travail actuellement dans mon entreprise sur une nouvelle base de données Access et j'ai besoin d'exécuter certaines de mes requêtes SQL vers une autre base de données Access.
Voici un exemple de requête que je dois exécuter =>
BDD_01.mdb =>
Tables :
- table_01
- table_02
BDD_02.mdb =>
Tables :
- table_03
La requête SQL se trouvant dans BDD_01.mdb =>
Avec ce type de requête, certains me diront d'utiliser les tables liées, mais non car les tables liées si on effectue une requête de sélection c'est beaucoup plus lent qu'un IN.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 SELECT t1.nom_t1, t2.nom_t2, t2.date_t2, t3.date_t3 FROM table_01 AS t1, table_02 AS t2, table_03 AS t3 IN '\\127.0.0.1\mon\chemin\bdd\access.mdb' WHERE t1.id_t1 = t2.id_t1 AND t2.id_t3 = t3.id_t3;
Apparemment Access se connecte, puis se déconnecte à chaque enregistrement lors d'une sélection de données sur une table liée.
Je préfère donc me connecter manuellement ayant eu l'expérience une fois (1h 50 minutes pour synchroniser des données via des tables liées ET <2 minutes avec une méthode de connexion manuel aux tables (requêtes SQL identiques))
Brèf.
Mon problème c'est que dans mon exemple j'ai à la fois des tables de ma BDD courante et d'autres sur une autre BDD.
Est-il possible de pouvoir faire mes jointures comme dans mon exemple plus haut en une seule requête SQL ?
Sinon je peux faire une sous requête avec du IN() mais bon ce n'est pas le top et encore difficile à gèrer car je ne pourrais pas extraire de champs car le SELECT sert de condition à la fonction IN(), sauf si je me trompe et qu'une méthode existe =>
Ou encore le gèrer côté code VBA mais si je peux éviter aussi (si j'ai pas le choix on fera comme ça).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 SELECT t1.nom_t1, t2.nom_t2, t2.date_t2 FROM table_01 AS t1, table_02 AS t2 WHERE t1.id_t1 = t2.id_t1 AND t2.id_t3 IN( SELECT t3.id_t3 FROM table_03 AS t3 IN '\\127.0.0.1\mon\chemin\bdd\access.mdb' );
Quelqu'un aurait une solution à me proposer ?
N.B. : Je n'utilise pas : JOIN, INNER JOIN, LEFT / RIGHT JOIN car si on a plus d'une jointure sous Access c'est super chiant à imbriquer le tout. Surtout si on doit effectuer des modifications par la suite une fois l'application en test chez les utilisateurs.
Merci par avance de vos réponses.
Barbrady,
Partager