Access 2019 Access 2016 Access 2013 Access 2010 Access 2007

Bonjour et bienvenue dans ce nouvel article concernant la Cinquième partie de la gestion des requêtes SQL avec Access.

Aujourd’hui nous continuerons à traiter de la liaison entre différentes tables qui vous permettra d’étoffer vos requêtes et de les rendre plus utiles. Nous verrons enfin comment lier deux tables ensemble afin d’obtenir un résultat dont les valeurs n’ont pas forcément des correspondances dans les deux tables. Commencons ce tutoriel sur la gestion des requêtes SQL avec Access.

Pour cela nous réutiliserons la table que nous utilisions le mois dernier « T01_01_TableArticle », pour illustrer les exemples tout au long de l’article :

Ainsi que la table suivante :

Une requête liée commence comme une requête de sélection lié (« SELECT » + « FROM » + « JOIN »)

Exemple :

SELECT T01_01_TableArticle.*, T01_02_TableTypeArticle.*

FROM T01_01_TableArticle INNER JOIN T01_02_TableTypeArticle ON T01_01_TableArticle.Num_TableArticle = T01_02_TableTypeArticle.ID_TableTypeArticle;

Mais à la différence de la requête précédente qui ne donne pour résultat que les données ayant des correspondances entre les deux tables, ce que l’on va voir ci-dessous permettra d’afficher toutes les données de la table « T01_01_TableArticle » et seulement les données correspondantes dans la table « T01_02_TableTypeArticle » pour cela il vous suffit de remplacer l’instruction « INNER JOIN » par l’instruction « LEFT JOIN » (la table « T01_01_TableArticle » étant à gauche)

Exemple :

SELECT T01_01_TableArticle.*, T01_02_TableTypeArticle.*

FROM T01_01_TableArticle LEFT JOIN T01_02_TableTypeArticle ON T01_01_TableArticle.Num_TableArticle = T01_02_TableTypeArticle.ID_TableTypeArticle;

Qui donne le résultat :

Vous remarquerez donc que dans l’exemple ci-dessus toutes les lignes de la table « T01_01_TableArticle » sont présentes, et seulement la ligne de la table « T01_02_TableTypeArticle » ayant un ID_TableTypeArticle à 1.

Si vous voulez l’inverse, c’est-à-dire permettre d’afficher toutes les données de la table « T01_02_TableTypeArticle » et seulement les données correspondantes dans la table « T01_01_TableArticle » pour cela il vous suffit de remplacer l’instruction « LEFT JOIN » par l’instruction « RIGHT » (la table « T01_02_TableTypeArticle » étant à droite)

SELECT T01_01_TableArticle.*, T01_02_TableTypeArticle.*

FROM T01_01_TableArticle RIGHT JOIN T01_02_TableTypeArticle ON T01_01_TableArticle.Num_TableArticle = T01_02_TableTypeArticle.ID_TableTypeArticle;

Qui donne le résultat :

Vous remarquerez donc que dans l’exemple ci-dessus toutes les lignes de la table «T01_02_TableTypeArticle » sont présentes, et seulement la ligne de la table « T01_01_TableArticle » ayant un Num_TableArticle à 1.

Voilà pour la Cinquième partie sur la gestion des requêtes SQL sous Access, vous devrez désormais pouvoir commencer à bien les manipuler, en attendant la suite aux prochains articles.

Merci à tous d’être arrivé jusqu’ici, je reviens vers vous avec un nouvel article le mois prochain.

En attendant portez-vous bien !

Les Experts Excel vous proposent des formations, du développement, de l’expertise et de l’assistance sur Microsoft Excel. N’hésitez plus et contactez-les dès maintenant !