Pour sélectionner des données spécifiques à partir d’une ou plusieurs sources, vous pouvez utiliser une requête Sélection. Une requête Sélection vous permet de ne récupérer que les données souhaitées et vous aide à combiner les données de plusieurs sources de données. Vous pouvez utiliser des tables et d’autres requêtes Sélection comme sources de données pour une requête Sélection. Cette rubrique offre une vue d’ensemble des requêtes Sélection et décrit la procédure de création d’une requête Sélection, à l’aide de l’Assistant Requête ou dans mode Création.
Si vous souhaitez utiliser l’exemple de base de données Northwind pour mieux comprendre le fonctionnement des requêtes, consultez l’article Présentation des requêtes.
Contenu de cet article
Vue d’ensemble
Lorsque vous cherchez à utiliser des données, vous souhaitez rarement utiliser toutes les données d’une table. Par exemple, lorsque vous voulez utiliser les données d’une table Contacts, vous cherchez généralement à consulter un enregistrement spécifique ou simplement un numéro de téléphone. Vous pouvez chercher à combiner les données de plusieurs tables (par exemple, combinaison des informations sur les clients et des informations sur les commandes). Pour sélectionner les données que vous voulez utiliser, vous devez utiliser une requête Sélection.
Une requête select est un objet de base de données qui affiche des informations dans mode Feuille de données. Une requête ne stocke pas de données, elle affiche les données stockées dans des tables. Une requête peut afficher les données d’une ou de plusieurs tables, d’autres requêtes ou d’une combinaison des deux.
Avantages de l’utilisation d’une requête
Une requête permet d’effectuer les opérations suivantes :
-
Afficher les données des seuls champs qui vous intéressent. Lorsque vous ouvrez une table, tous les champs apparaissent. Une requête permet d’enregistrer une sélection de champs.
Remarque : Une requête pointe uniquement vers des données, elle ne stocke pas de données. Lorsque vous enregistrez une requête, vous n’enregistrez pas une copie des données.
-
Combiner les données de plusieurs sources de données. En général, une table affiche uniquement les données qu’elle stocke. Une requête vous permet de choisir des champs de différentes sources et de spécifier la façon dont les informations doivent être combinées.
-
Utiliser des expressions en tant que champs. Par exemple, vous pouvez utiliser la fonction Date en tant que champ, ou la fonction Format avec un champ pour contrôler la façon dont les données du champ sont mises en forme dans les résultats de la requête.
-
Afficher les enregistrements correspondant aux critères que vous spécifiez. Lorsque vous ouvrez une table, tous les enregistrements apparaissent. Une requête permet d’enregistrer une sélection d’enregistrements.
Étapes de base pour la création d’une requête Sélection
Vous pouvez créer une requête select à l’aide de l’Assistant Requête ou en travaillant en mode Création. Certains éléments de conception ne sont pas disponibles lorsque vous utilisez l’Assistant, mais vous pouvez ajouter ces éléments ultérieurement à l’aide du mode Création. Bien que les deux méthodes soient quelque peu différentes l’une de l’autre, les étapes de base sont essentiellement les mêmes :
-
Sélectionnez les tables ou requêtes que vous voulez utiliser en tant que sources de données.
-
Spécifiez les champs que vous voulez inclure à partir des sources de données.
-
Vous pouvez également spécifier des critères pour limiter les enregistrements renvoyés par la requête.
Une fois que vous avez créé une requête Sélection, vous devez l’exécuter pour afficher les résultats. Pour exécuter une requête Sélection, vous devez l’ouvrir en mode Feuille de données. Si vous enregistrez la requête, vous pouvez la réutiliser quand vous le souhaitez (par exemple, en tant que source de données pour un formulaire, un état ou une autre requête).
Utiliser l’Assistant Requête pour créer une requête Sélection
Vous pouvez utiliser l’Assistant Requête pour créer automatiquement une requête select. Lorsque vous utilisez l’Assistant, vous avez moins de contrôle sur les détails de la conception de la requête, mais la requête est généralement créée plus rapidement que si vous n’utilisiez pas l’Assistant. De plus, l’Assistant peut intercepter des erreurs de conception simples et vous inviter à effectuer une autre action.
Avant de commencer
Si vous utilisez des champs de sources de données sans lien les uns avec les autres, l’Assistant Requête vous demande si vous voulez créer des relations. L’Assistant ouvre la fenêtre Relations automatiquement, mais vous devez redémarrer l’Assistant si vous modifiez des relations. Par conséquent, avant d’exécuter l’Assistant, vous pouvez créer toutes les relations dont votre requête a besoin.
Pour plus d’informations sur la création des relations entre les tables, voir l’article Guide pour les relations entre tables.
Utiliser l’Assistant Requête
-
Dans l’onglet Créer, dans le groupe Requêtes, cliquez sur Assistant Requête.
-
Dans la boîte de dialogue Nouvelle requête, cliquez sur Assistant Requête simple, puis sur OK.
-
Vous pouvez ensuite ajouter les champs. Vous pouvez ajouter jusqu’à 255 champs issus de 32 tables ou requêtes au maximum.
Pour chaque champ, effectuez ces deux étapes :
-
Sous Tables/requêtes, cliquez sur la table ou la requête qui contient le champ.
-
Sous Champs disponibles, double-cliquez sur le champ pour l’ajouter à la liste Champs sélectionnés. Si vous voulez ajouter tous les champs à votre requête, cliquez sur le bouton avec les doubles flèches vers la droite (>>).
-
Lorsque vous avez ajouté tous les champs souhaités, cliquez sur Suivant.
-
-
Si vous n’avez ajouté aucun champ numérique (champs qui contiennent des données numériques), passez à l’étape 9. Si vous avez ajouté des champs numériques, l’Assistant vous demande si vous voulez que la requête renvoie des informations détaillées ou un résumé des données.
Effectuez l’une des opérations suivantes :
-
Si vous souhaitez afficher des enregistrements individuels, cliquez sur Détails, puis sur Suivant. Passez à l’étape 9.
-
Pour afficher un résumé de données numériques telles que des moyennes, cliquez sur Résumé, puis sur Options de synthèse.
-
-
Dans la boîte de dialogue Options de synthèse, spécifiez les champs que vous voulez résumer et la manière dont vous voulez procéder. Seuls les champs numériques apparaissent.
Pour chaque champ numérique, choisissez l’une des fonctions suivantes :
-
Somme La requête renvoie la somme de toutes les valeurs du champ.
-
Moy La requête renvoie la moyenne de toutes les valeurs du champ.
-
Min La requête renvoie la plus petite valeur du champ.
-
Max La requête renvoie la plus grande valeur du champ.
-
-
Si vous souhaitez que les résultats de la requête incluent un décompte des enregistrements dans une source de données, activez la case à cocher Compter les enregistrements dans Nom de la source de données appropriée.
-
Cliquez sur OK pour fermer la boîte de dialogue Options de synthèse.
-
Si vous n’avez pas ajouté de champ Date/heure à la requête, passez à l’étape 9. Si vous avez ajouté un champ Date/heure à la requête, l’Assistant Requête vous invite à préciser la manière dont vous voulez regrouper les valeurs de date. Supposons que vous ayez ajouté un champ numérique (« Prix ») et un champ Date/Heure (« Heure_transaction ») à la requête, puis spécifié dans la boîte de dialogue Options de synthèse que vous voulez afficher la valeur moyenne du champ numérique « Prix ». Comme vous avez inclus un champ Date/heure, vous pouvez calculer des valeurs de synthèse pour chaque valeur Date/heure unique, pour chaque jour, pour chaque mois, pour chaque trimestre ou pour chaque année.
Sélectionnez la période que vous voulez utiliser pour regrouper les valeurs de date et d’heure, puis cliquez sur Suivant.
Remarque : En mode Création, vous pouvez utiliser une expression pour effectuer un regroupement sur la période de votre choix, mais l’Assistant offre uniquement ces choix.
-
Sur la dernière page de l’Assistant, donnez un titre à la requête, spécifiez si vous voulez ouvrir ou modifier la requête, puis cliquez sur Terminer.
Si vous choisissez d’ouvrir la requête, la requête affiche les données sélectionnées en mode Feuille de données. Si vous choisissez de modifier la requête, la requête s’ouvre en mode Création.
Créer une requête en utilisant le mode Création
Vous pouvez utiliser le mode Création pour créer manuellement une requête Sélection. L’utilisation du mode Création offre un contrôle plus étroit sur les détails de la création des requêtes, mais prête à davantage d’erreurs de conception et peut prendre plus de temps que l’utilisation de l’Assistant.
Créer une requête
Étape 1 : ajouter des sources de données
Lorsque vous utilisez le mode Création, pour ajouter des sources de données, vous ajoutez les sources de données et les champs dans des étapes distinctes. Toutefois, vous pouvez toujours ajouter d’autres sources de données plus tard si vous le souhaitez.
-
Sous l’onglet Créer, dans le groupe Requêtes, cliquez sur Création de requête.
-
Double-cliquez sur chaque source de données que vous souhaitez utiliser ou sélectionnez chaque source de données, puis cliquez sur Ajouter.
Jointures automatiques
Lorsque vous ajoutez les sources de données, si les sources ont déjà des relations définies entre elles, celles-ci sont automatiquement ajoutées à la requête sous forme de jointures. Les jointures spécifient le mode de combinaison des données provenant de sources liées. Access crée automatiquement une jointure entre deux tables si leurs champs présentent des types de données compatibles et qu’un champ correspond à une clé primaire.
Vous souhaiterez peut-être ajuster les jointures créées par Access. Access détermine le type de jointure à créer en fonction de la relation représentée par la jointure. Si Access crée une jointure, mais qu’il n’existe aucune relation définie, Access crée une jointure interne.
Si Access crée automatiquement les jointures correctes lorsque vous ajoutez les sources de données, vous pouvez passer à l’étape 3 : ajouter des champs de destination.
Utiliser la même source de données à plusieurs reprises
Dans certains cas, vous souhaitez joindre deux copies de la même table ou requête, appelées jointure réflexive, qui combinent des enregistrements de la même table lorsqu’il existe des valeurs correspondantes dans les champs joints. Par exemple, supposons que vous ayez une table Employees dans laquelle le champ ReportsTo pour l’enregistrement de chaque employé affiche l’ID de son responsable au lieu du nom. Vous pouvez utiliser une auto-jointure pour afficher le nom du responsable dans l’enregistrement de chaque employé à la place.
Lorsque vous ajoutez une source de données une deuxième fois, Access ajoute _1 au nom de la deuxième instance. Par exemple, si vous ajoutez la table Employés à deux reprises, la deuxième instance serait nommée Employés_1.
Étape 2 : joindre des sources de données liées
Si les sources de données que vous ajoutez à une requête ont déjà des relations, Access crée automatiquement une jointure interne pour chaque relation. Si l’intégrité référentielle est appliquée, Access affiche également un « 1 » au-dessus de la ligne de jointure pour indiquer la table qui se trouve du côté « un » d’une relation un-à-plusieurs et le symbole infini (∞) pour indiquer la table qui se trouve du côté « plusieurs ».
Si vous ajoutez des requêtes à votre requête et que vous n’avez pas créé de relations entre elles, Access ne crée pas automatiquement de jointures entre ces requêtes, ou entre les requêtes et les tables qui ne sont pas liées. Si Access ne crée pas de jointures lorsque vous ajoutez des sources de données, vous devez généralement les ajouter vous-même. Les sources de données qui ne sont pas associées à une autre source de données peuvent poser des problèmes avec les résultats de requête.
Vous pouvez également modifier le type d’une jointure (jointure interne en jointure externe) afin que votre requête inclue plus d’enregistrements.
Ajouter une jointure
-
Pour ajouter une jointure, faites glisser un champ d’une source de données vers un champ correspondant dans une autre source de données.
Access affiche une ligne entre les deux champs pour indiquer qu’une jointure a été créée.
Modifier une jointure
-
Double-cliquez sur la jointure que vous voulez modifier.
La boîte de dialogue Propriétés de la jointure apparaît.
-
Dans la boîte de dialogue Propriétés de la jointure, passez en revue les trois options.
-
Cliquez sur l’option que vous voulez utiliser, puis sur OK.
Une fois les jointures prêtes, vous ajoutez des champs de destination (champs incluant les données souhaitées dans les résultats de la requête).
Étape 3 : ajouter des champs de destination
Vous pouvez facilement ajouter un champ à partir des sources de données que vous avez ajoutées à l’étape 1.
-
Pour ajouter un champ, faites glisser le champ à partir d’une source de données dans le volet supérieur de la fenêtre de création de requête jusqu’à la ligne Champ de la grille de création, dans le volet inférieur de la fenêtre de création de requête.
Lorsque vous ajoutez un champ de cette façon, Access renseigne automatiquement la ligne Table de la grille de création pour refléter la source de données du champ.
Conseil : Si vous voulez ajouter rapidement tous les champs à la ligne Champ de la grille de création de requête, double-cliquez sur le nom de la table ou de la requête dans le volet supérieur pour sélectionner tous les champs de cette source, puis faites-les tous glisser vers la grille de création en même temps.
Utiliser une expression comme champ de destination
Si vous voulez effectuer des calculs ou utiliser une fonction pour générer le résultat de la requête, vous pouvez utiliser une expression comme champ de destination. Une expression peut utiliser les données d’une source de données de requête, ainsi que des fonctions telles que Format ou DansChaîne, et peut également contenir des constantes et des opérateurs arithmétiques.
-
Dans une colonne vide de la grille de création de requête, cliquez avec le bouton droit sur la ligne Champ, puis cliquez sur Zoom dans le menu contextuel.
-
Dans la zone Zoom, tapez ou collez votre expression. Faites précéder votre expression du nom que vous voulez utiliser pour le résultat de l’expression, suivi de deux-points. Par exemple, si vous voulez nommer l’expression « Dernière mise à jour », vous devez commencer votre expression par Dernière mise à jour:.
Remarque : Vous pouvez effectuer diverses opérations à l’aide des expressions. Une explication détaillée des expressions dépasse le cadre de cet article. Pour plus d’informations sur la création d’une expression, voir Créer une expression.
Étape 4 : spécifier des critères
Cette étape est facultative.
Les critères permettent de limiter les enregistrements renvoyés par votre requête, selon que les valeurs de champ correspondent aux critères que vous spécifiez.
Spécifier les critères d’un champ de destination
-
Dans la grille de création de requête, dans la ligne Critères du champ qui contient les valeurs que vous voulez limiter, tapez une expression que les valeurs de champ doivent satisfaire pour être incluses dans vos résultats. Par exemple, si vous voulez limiter une requête de telle sorte que seuls les enregistrements pour lesquelles la valeur du champ Ville est Orléans, tapez Orléans dans la ligne Critères sous ce champ.
Pour consulter des exemples de critères de requête pour différents types de données, voir l’article Exemples de critères de requête.
-
Vous pouvez spécifier d’autres critères dans la ligne Ou, sous la ligne Critères.
Si vous spécifiez d’autres critères, une valeur de champ peut correspondre aux critères répertoriés et être incluse dans les résultats de la requête.
Plusieurs critères de champ
Vous pouvez utiliser des critères avec plusieurs champs. Dans ce cas, tous les critères dans une ligne Critères ou Ou donnée doivent être vérifiés pour que l’enregistrement soit inclus.
Spécifier des critères à l’aide d’un champ que vous ne voulez pas utiliser en résultat
Vous pouvez ajouter un champ à la conception de votre requête et ne pas inclure les données du champ dans le résultat de la requête. Vous pouvez procéder ainsi si vous voulez utiliser les valeurs du champ pour limiter les résultats de la requête, sans toutefois les afficher.
-
Ajoutez le champ à la grille de création.
-
Désactivez la case à cocher dans la ligne Afficher du champ.
-
Spécifiez les critères comme vous le feriez pour un champ de destination.
Étape 5 : résumer des données
Cette étape est facultative.
Vous pouvez résumer des données, en particulier si celles-ci sont numériques. Par exemple, vous cherchez à déterminer le prix moyen ou le total des ventes.
Pour résumer les données dans une requête, vous pouvez utiliser la ligne Total. Par défaut, la ligne Total n’apparaît pas en mode Création.
-
Une fois la requête ouverte en mode Création , sous l’onglet Création de requête , dans le groupe Afficher/Masquer , cliquez sur Totaux.
Access affiche la ligne Total dans la grille de création de requête.
-
Pour chaque champ que vous voulez résumer, sélectionnez la fonction à utiliser dans la liste de la ligne Total. Les fonctions disponibles dépendent du type de données du champ.
Pour en savoir plus sur la fonctionnalité Total row dans les requêtes, consultez l’article Afficher les totaux des colonnes dans une feuille de données à l’aide d’une ligne Totals.
Étape 6 : afficher les résultats
Pour afficher les résultats de la requête, sous l’onglet Création de requête , cliquez sur Exécuter. Access affiche les résultats de votre requête en mode Feuille de données.
Pour apporter d’autres modifications à la requête, cliquez sur Accueil > Affichage > Mode Création pour revenir au mode Création.
Modifiez vos champs, expressions ou critères et relancez la requête jusqu’à ce qu’elle renvoie les données souhaitées.