Gérer les données à l’aide de requêtes

Interroger des sources de données non liées

Votre navigateur ne prend pas en charge la vidéo. Installez Microsoft Silverlight, Adobe Flash Player ou Internet Explorer 9.

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 deux autres tables de façon indirecte

La table Bons de commande connecte les deux tables distinctes (Fournisseurs et Bon de commande détaillé). 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 corrects sont renvoyés. Par exemple, si vous connectez Réf fournisseur et Réf achat, il est possible que vous obteniez quelques correspondances si les références sont semblables. Mais les résultats n’auront pas de sens, car il n’y a aucun intérêt à combiner la référence du fournisseur et la référence de l’achat. Il vaut mieux connecter la référence de la table Fournisseur à Réf 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

Vous devez parfois interroger des tables ou d’autres sources de données qui ne sont pas liées et qui ne partagent pas de jointure. Vous avez deux options pour cela.

Vous pouvez utiliser une table intermédiaire, qui partage des jointures avec les sources de données que vous voulez utiliser.

Vous pouvez également ajouter une jointure.

Commençons par la table intermédiaire. Dans cet exemple de base de données, les employés doivent entrer un statut pour chaque commande, chose qu’ils oublient parfois.

La question à laquelle vous voulez alors répondre est : « Quelles commandes n’ont pas de statut et quels employés ont oublié d’en entrer un ? ».

À première vue, nous devons utiliser trois tables dans la requête : Employés, Commandes et État des détails de la commande, car elles correspondent aux points de données de nos questions : « Quelles commandes n’ont pas de statut et quels employés ont oublié d’en entrer un ? ».

Lorsque vous ajoutez les tables à la requête, vous pouvez voir que ces deux tables ne sont pas jointes, mais ce n’est pas un problème en soi, car nous pouvons ajouter une jointure.

Par conséquent, joignons les champs Réf, #UI#exécutons la requête et rien ne se passe.

Maintenant, faisons ce que nous aurions dû faire en premier lieu et examinons les relations entre les tables.

Nous voyons ce qui ressemble à une chaîne de relations : Employés-et-Commandes, Commandes-et-Détails de la commande et Détails de la commande-et-État Détails commande.

Commandes et État Détails commande ne sont pas liés, alors que Détails de la commande est lié aux deux. Détails de la commande est donc notre table intermédiaire.

Nous en déduisons la règle suivante : Tant que les tables intermédiaires font partie de votre source de données, vous pouvez interroger ces tables non liées et obtenir un résultat valide.

Vous n’êtes pas obligé d’inclure la table intermédiaire dans vos résultats mais celle-ci doit faire partie de la source de données de votre requête.

Nous ajoutons donc Détails de la commande à la requête, laissons les champs tels quels, et exécutons la requête.

Nous filtrons les valeurs vides, et obtenons la réponse à notre question.

Ajoutons à présent une jointure à une requête. Pour ce faire, n’oubliez pas les règles suivantes.

En premier lieu, les tables ou requêtes que vous voulez joindre doivent avoir des champs avec des types de données correspondants ou compatibles.

Par exemple, les types de données Numérique et Devise sont compatibles alors que Numérique et Texte ne le sont pas.

Deuxièmement, la jointure que vous créez réside uniquement dans votre requête. Vous ne créez pas de relation de table ici.

Troisièmement, les résultats doivent être cohérents. Si la jointure renvoie des données sur les commandes et les voitures de fonction par exemple, vous devez probablement recommencer depuis le début.

Supposons que nous voulons savoir quels clients ont commandé quels produits.

Nous ajoutons Clients, Commandes et Détails de la commande à une nouvelle requête. Nous ajoutons à présent la jointure. Nous faisons glisser Réf client de la table Clients vers le champ correspondant dans la table Commandes.

Voici la ligne de jointure. Ce qui nous amène à une autre règle, à savoir qu’Access insère le champ que vous faites glisser à gauche de la nouvelle jointure. Si ce n’est pas ce que vous voulez, sélectionnez la ligne de jointure, appuyez sur la touche Supprimer et recommencez.

Nous pouvons maintenant créer la requête. Ajoutons Prénom et Nom à partir de Clients, puis Réf produit, Réf commande, Quantité et Prix unitaire à partir de Détails de la commande.

Exécutons la requête et découvrons nos données.

Vous connaissez maintenant deux techniques pour interroger des sources de données non liées : utiliser une table intermédiaire ou ajouter une jointure pour faire apparaître les réponses à vos questions sur les données.

Développez vos compétences
Découvrez des formations
Accédez aux nouvelles fonctionnalités en avant-première
Rejoignez le programme Office Insider

Ces informations vous ont-elles été utiles ?

Nous vous remercions pour vos commentaires.

Merci pour vos commentaires. Il serait vraisemblablement utile pour vous de contacter l’un de nos agents du support Office.

×