Vidéo : interroger des sources de données non liées

S’applique à
Access pour Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Essayez !

Vous devez parfois créer une requête pour extraire des informations de sources de données sans relation directe (un-à-un ou un-à-plusieurs).

Utiliser des tables intermédiaires pour connecter des sources de données dans des requêtes

Lorsque vous exécutez une requête, Access utilise les relations que vous avez créées entre les tables pour déduire et créer des connexions entre les autres sources de données. Si la relation dont vous avez besoin pour une requête n’existe pas, vous devez connecter les tables dans le cadre de cette requête.

Supposons que vous vouliez déterminer le nombre de commandes que vous avez reçues pour les produits de différents fournisseurs. Votre table Fournisseurs n’est pas connectée à la table Bon de commande détaillé, qui inclut les références produit et les informations de quantité. La table Bons de commande est toutefois connectée à la table Bon de commande détaillé.

Plusieurs sources de données de table, avec et sans relations prédéfinies

Conseil

Si vous pourriez avoir besoin de cette relation en dehors de la requête que vous êtes en train de créer, il est recommandé de créer une relation intermédiaire pour une utilisation ultérieure. Pour savoir comment procéder, voir Créer des relations plusieurs-à-plusieurs.

Si vous ne voulez pas créer la table intermédiaire dans votre base de données, utilisez la table Bons de commande comme table intermédiaire dans votre requête. Ajoutez la table Fournisseurs à gauche de la table Bons de commande et créez une connexion.

Utilisation d’une table pour connecter indirectement deux autres tables La table Commandes fournisseur connecte les deux tables disparates, Fournisseurs et Détails commande fournisseur. Connectez les tables à l’aide des champs (tels que Réf dans la table Fournisseur et Réf fournisseur dans la table Bons de commande) qui répondent aux critères suivants :

  • Les deux champs ont des types de données correspondants ou compatibles. Par exemple, vous ne pouvez pas connecter un champ de texte à un champ numérique.
  • Les champs identifient les enregistrements uniques correspondants dans chaque table. Par exemple, il n’est pas souhaitable de connecter deux champs Nom, car les noms ne sont pas toujours uniques.
  • Les champs garantissent que les enregistrements appropriés sont révus. Par exemple, si vous connectez un ID fournisseur à un ID d’achat, vous pouvez obtenir des correspondances si les ID sont similaires. Mais les résultats n’auront pas de sens car l’ID fournisseur n’a rien à voir avec l’ID d’achat. Il est préférable de connecter l’ID de la table Fournisseur à l’ID Fournisseur dans la table Bons de commande : les enregistrements renvoyés auront du sens car les deux champs identifient le fournisseur.

Étapes

Que vous ayez une table intermédiaire dans votre base de données ou que vous envisagiez simplement d’en utiliser une dans votre requête, procédez comme suit :

  1. Ajoutez la table intermédiaire à votre requête entre les deux tables non connectées.

  2. Créez les connexions nécessaires avec la table intermédiaire.
    Les connexions peuvent utiliser n’importe quel type de jointure approprié, mais doivent être établies via des champs répondant aux critères décrits précédemment dans ce module.

    Création des connexions nécessaires avec la table intermédiaire

  3. Exécutez 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.

    Remarque

    Vous n’êtes pas obligé d’inclure la table intermédiaire dans vos résultats. Celle-ci doit simplement faire partie des sources de données de la requête pour qu’Access puisse connecter les données.

Autres actions

Créer des requêtes de base

Créer des requêtes en joignant plusieurs sources de données

Créer des requêtes avec des jointures externes

Formation sur Excel

Formation sur Outlook