Essayez !
Vous souhaitez parfois afficher tous les enregistrements d’une table, ainsi que les enregistrements correspondants d’une autre table, dans vos requêtes. Pour ce faire, vous pouvez créer des jointures externes.
Les jointures internes n’affichent des données que lorsqu’il existe une référence correspondante dans les deux sources de données connectées. Par exemple, si vous voulez afficher les produits et les quantités vendues, vous pouvez créer une jointure interne entre les tables Produits et Détails de la commande. Lorsque vous exécutez la requête, seuls les produits inclus dans des commandes (et qui apparaissent donc dans les deux tables) sont renvoyés.
En revanche, les jointures externes renvoient toutes les données d’une source de données et certaines données d’une autre table ou source de données.
Par exemple, pour consulter les produits qui ne se vendent pas, vous pouvez créer une requête qui affiche la référence produit dans la table Produits et les références des commandes correspondantes dans la table Détails des commandes. Les produits sans enregistrement correspondant dans la table Détails de la commande renvoient le nom du produit sans valeur pour le champ Réf commande.
Jointures externes gauches et jointures externes droites
Dans une jointure externe, la table qui affiche tous ses enregistrements est appelée table de base. La table qui n’affiche que certains enregistrements (correspondants) est appelée table secondaire.
La boîte de dialogue Propriétés de la jointure décrit ce qui apparaît avec différents types de jointures :
Supposons que vous ayez créé une requête destinée à afficher les produits achetés par vos clients. Vos champs de destination sont Nom du produit, Réf commande et Quantité.
-
Jointure interne. Inclure uniquement les lignes (enregistrements) dans lesquelles les champs joints des deux tables sont égaux (par exemple, les produits auxquels des commandes sont associées uniquement).
-
Jointure externe gauche. Inclure tous les enregistrements de la table sous Nom de la table de gauche et seulement ceux de la table sous Nom de la table de droite dans lesquels les champs joints sont égaux (par exemple, toutes les commandes, mais seulement les quantités et les références produit des commandes auxquelles des produits sont associés).
-
Jointure externe droite. Incluez tous les enregistrements de la table sous Nom de la table à droite et uniquement ceux de la table sous Nom de la table gauche dans lesquels les champs joints sont égaux, par exemple, tous les produits, même s’il n’y a pas de commandes pour eux, auquel cas des valeurs vides apparaissent dans les champs ID de commande et Quantité.
Comme vous pouvez le constater dans ces exemples, il est important de savoir quelle table se trouve à gauche et laquelle se trouve à droite, ce qui peut être différent de la façon dont les tables sont organisées dans la fenêtre de requête. Pour comprendre les données que vous obtiendrez à partir de votre requête, lisez attentivement le texte dans la boîte de dialogue Propriétés de la jointure.
1. Ajouter des sources de données
-
Sélectionnez Créer > Création de requête.
Ajoutez toutes les tables et requêtes dont vous avez besoin en tant que sources de données. (Ne vous inquiétez pas. Si vous en oubliez une, vous pourrez toujours ajouter d’autres sources de données par la suite.)
S’il parvient à les détecter ou les déduire, Access peut afficher des relations pour les sources de données.
2. Ajouter une jointure
-
Si vous ne voyez pas de relation entre les sources, ajoutez une jointure. Établissez celle-ci par glisser-déplacer à partir du champ souhaité dans une source de données vers le champ correspondant dans une autre source de données. La table d’origine est celle qui apparaîtra sur la gauche dans la boîte de dialogue Propriétés de la jointure. Access crée une jointure interne par défaut. Si vous avez besoin d’une jointure externe, vous pouvez modifier son type.
3. Modifier une jointure
-
Double-cliquez sur la ligne représentant la jointure que vous voulez modifier.
-
Dans la boîte de dialogue Propriétés de la jointure, sélectionnez la deuxième ou troisième option pour créer une jointure externe. Sélectionnez ensuite OK.
Veillez à identifier la table de base, celle dont proviennent tous les enregistrements affichés.
4. Exécuter la requête
Suivez la procédure habituelle de création d’une requête : ajoutez des champs de destination, ajoutez des critères et exécutez ou enregistrez votre requête. Pour savoir comment procéder, voir Créer des requêtes de base.