| | Informations produit Aide et procédures Formation Modèles Support et commentaires Ressources techniques Ressources supplémentaires | Avertissement : vous affichez cette page avec un navigateur Web non pris en charge. Ce site Web fonctionne de manière optimale avec Microsoft Internet Explorer 6.0 ou version ultérieure, Firefox 1.5 ou Netscape Navigator 8.0 ou version ultérieure. En savoir plus sur les navigateurs pris en charge.
Rechercher les enregistrements contenant les premières ou dernières valeurs dans un groupe ou un champ
Cet article explique comment utiliser une requête Premières valeurs pour rechercher les valeurs les plus élevées ou les plus basses parmi un jeu d'enregistrements. Les requêtes Premières valeurs permettent de répondre à diverses questions d'ordre commercial et de déterminer, par exemple, quels sont les produits qui se vendent le mieux et ceux qui se vendent le moins.
Que voulez-vous faire ?
Comprendre le principe de fonctionnement des requêtes Premières valeurs
L'utilisation d'une requête Premières valeurs s'avère utile lorsqu'il s'agit de rechercher les enregistrements qui contiennent les premières ou dernières valeurs au niveau d'un champ de table. Vous pouvez utiliser une requête de ce type pour obtenir une réponse aux types de questions suivants :
- Quel est le produit le plus cher ou le moins cher ?
- Quels sont les trois employés dont la date d'anniversaire est la plus proche ?
- Quelles sont les divisions qui contribuent le plus ou le moins au chiffre d'affaires de l'exercice en cours ?
- Quels sont les produits qui font partie des 5 % de produits les mieux vendus ou les moins bien vendus ?
- Quelles sont les catégories de produits qui font partie des 5 % de catégories de produits les mieux vendues ou les moins bien vendues ?
En résumé, une requête Premières valeurs vise à trier et filtrer les données dans le but de renvoyer les premières ou dernières valeurs d'un champ. Les requêtes Premières valeurs peuvent porter sur des valeurs de type Numérique (y compris les devises) et Date.
La procédure de création d'une requête Premières valeurs se compose des étapes générales suivantes :
- Créez une requête Sélection ou une requête Totaux.
Une requête Sélection permet de rechercher les premières ou dernières valeurs d'une table ; une requête Totaux permet, quant à elle, de rechercher les premières ou dernières valeurs d'une ou plusieurs catégories. Par exemple, si vous souhaitez identifier le produit le plus cher ou le moins cher, vous devez commencer par créer une requête Sélection. Pour apporter une réponse à une question du type « Quelles sont les catégories de produits qui font partie des 5 % de catégories de produits les mieux vendues ou les moins bien vendues ? », vous devez utiliser une requête Totaux. Par ailleurs, vous pouvez utiliser une requête de ces deux types pour rechercher les premières et dernières valeurs dans un groupe d'enregistrements ou dans des enregistrements divisés en catégories.
- Appliquez un ordre de tri à la requête.
- Appliquez d'autres critères à la requête.
- Spécifiez le nombre d'enregistrements que la requête doit renvoyer. Vous pouvez spécifier un pourcentage, par exemple, 5 % des premières valeurs d'un champ, comme vous pouvez spécifier un nombre fixe, tel que les 10 premières valeurs d'un champ.
Choisir entre une requête Premières valeurs et un filtre
Pour déterminer s'il convient de créer une requête Premières valeurs ou appliquer un filtre, tenez compte des points suivants :
Règles en matière de création et d'utilisation de requêtes Premières valeurs
Avant de vous lancer, ne perdez pas de vue que, quel que soit le type de requête (Sélection ou Totaux), vous devez utiliser des champs contenant des données descriptives, telles que des noms d'employés ou de produits, ainsi qu'un champ contenant les premières ou dernières valeurs à rechercher, tel qu'un champ de prix ou de date. Vous pouvez utiliser plusieurs champs de données et, si vous utilisez une requête Totaux, ces champs doivent normalement inclure des informations de catégorie (p.ex., champ indiquant la ville ou le pays/région). Vous ne pouvez omettre les données de catégorie que si vous créez une requête Totaux qui porte sur tous les enregistrements (p.ex., « afficher les premiers 5 % des commandes les plus élevées). De même, vous pouvez utiliser une requête Sélection ou Totaux pour rechercher les premières et dernières valeurs dans un groupe d'enregistrements ou dans des enregistrements divisés en catégories. Pour plus d'informations sur la procédure, voir la section Rechercher les premières ou dernières valeurs dans des enregistrements appartenant à des catégories ou des groupes, plus loin dans cet article.
Rechercher les enregistrements contenant les premières ou dernières valeurs
Les procédures décrites dans cette section expliquent comment créer une requête Premières valeurs de base et une requête plus élaborée. La première procédure présente les principales composantes d'une requête Premières valeurs, tandis que la deuxième section explique comment rechercher les prochaines dates d'anniversaire d'employés. Ces procédures s'appuient sur la table d'exemple suivante :
| Nom de famille |
Prénom |
Adresse |
Ville |
Pays/région |
Date de naissance |
Date d'embauche |
| Bouraima |
Hervé |
28, av. du Burkina Faso |
Saint-Denis |
France |
05.02.68 |
10.06.94 |
| Dupont-Roc |
Patrice |
52, av. de Chypre |
Valenciennes |
France |
22.05.57 |
22.11.96 |
| Faisandier |
Antoine |
3122, av. de Corée |
Toulouse |
France |
11.11.60 |
11.03.00 |
| Narp |
Sylvie |
1, av. de Hongrie |
Paris |
France |
22.03.64 |
22.06.98 |
| Berthier |
Ariane |
2, av. de Slovaquie |
Marseille |
France |
05.06.72 |
05.01.02 |
| Colon |
Jean-Charles |
3122, avenue de Corée |
Toulouse |
France |
23.01.70 |
23.04.99 |
| Cordani |
Michel |
67, av. du Mali |
Nice |
France |
14.04.64 |
14.10.04 |
| Dubois |
Marie |
2, av. de Lituanie |
Brest |
France |
29.10.59 |
29.03.97 |
| Narp |
Sylvie |
1, av. de Hongrie |
Paris |
France |
22.03.64 |
20.06.98 |
Vous pouvez éventuellement entrer manuellement les données dans cet exemple de table ou copier ce tableau dans un tableur tel que Microsoft Office Excel 2007 et importer la feuille de calcul résultante dans une table Microsoft Office Access 2007. Afficher la procédure
Entrer manuellement les données exemple
- Sous l'onglet Créer, dans le groupe Tables, cliquez sur Table.
Office Access 2007 ajoute une table vide à votre base de données.
Remarque Cette étape n'est pas nécessaire si vous ouvrez une nouvelle base de données vide. Elle l'est, en revanche, si vous devez ajouter une table à la base de données.
- Double-cliquez sur la première cellule de la ligne d'en-tête et tapez le nom du champ dans la table exemple.
Par défaut, Access désigne les champs vides de la ligne d'en-tête par le texte Ajouter un nouveau champ, comme suit :

- Utilisez les touches de direction pour passer à la cellule d'en-tête vide suivante, puis tapez le nom du deuxième champ (vous pouvez également appuyer sur Tab ou double-cliquer sur la nouvelle cellule). Répétez cette étape pour entrer le nom de tous les champs.
- Entrez les données dans la table exemple.
Lorsque vous entrez des données, Access détermine un type de données pour chaque champ. Si les bases de données relationnelles sont nouvelles pour vous, définissez un type de données spécifique, tel que Nombre, Texte ou Date/Heure spécifique. Ceci garantit l'entrée de données précises et contribue également à éviter des erreurs telles que l'utilisation d'un numéro de téléphone dans un calcul. Pour ces tables d'exemple, laissez Access déterminer le type de données.
- Une fois que vous avec entré les données, cliquez sur Enregistrer.
Raccourci clavier Appuyez sur Ctrl+S.
La boîte de dialogue Enregistrer sous s'affiche.
- Dans la zone Nom de la table, entrez le nom de la table exemple, puis cliquez sur OK.
Vous utilisez le nom de chaque table exemple car les requêtes des sections de procédures emploient ces noms.
- Répétez ces étapes pour créer chacune des tables exemple répertoriées au début de cette section.
Copier le tableau dans un tableur
- Démarrez votre programme de calcul et créez un fichier vide. Si vous utilisez Excel, un classeur vide est créé par défaut.
- Copiez la table exemple fournie dans la section précédente, puis collez-la dans la première feuille de calcul en plaçant le curseur dans la première cellule.
- En utilisant la technique fournie par votre tableur, nommez la feuille de calcul Employés.
- Enregistrez le fichier de tableur à un emplacement approprié et passez aux étapes suivantes.
Importer le tableau dans Access
- Dans une base de données nouvelle ou existante :
Sous l'onglet Données externes, dans le groupe Importer, cliquez sur Excel.
- ou -
Cliquez sur Plus, puis sélectionnez un tableur dans la liste.
La boîte de dialogue Données externes - Feuille de calcul Nom du programme s'affiche.
- Cliquez sur Parcourir, ouvrez le fichier de tableur que vous avez créé précédemment, puis cliquez sur OK.
L'Assistant Importation de feuille de calcul démarre.
- Par défaut, l'Assistant sélectionne la première feuille de calcul du classeur (Employés, si vous avez suivi les étapes de la section précédente), et les données de cette feuille de calcul s'affichent dans la partie inférieure de la page de l'Assistant. Cliquez sur Suivant.
- Dans la page suivante de l'Assistant, cliquez sur Première ligne contient les en-têtes de colonnes, puis sur Suivant.
- Dans la page suivante de l'Assistant, utilisez éventuellement les zones de texte et les listes situées sous Options des champs pour modifier le nom et le type de données des champs ou pour omettre certains champs de l'opération d'importation. Sinon, cliquez sur Suivant.
- Laissez l'option Laisser Access ajouter une clé primaire activée, puis cliquez sur Suivant.
- Par défaut, Access applique le nom de la feuille de calcul à la nouvelle table. Acceptez le nom ou entre-en un autre, puis cliquez sur Terminer.
Remarque Si vous ne disposez pas de tableur, vous pouvez copier les données d'exemple dans un éditeur de texte tel que Bloc-notes. Pour plus d'informations sur l'importation de données texte, voir l'article Importer ou lier des données d'un fichier texte.
Créer une requête Premières valeurs de base
- Sous l'onglet Créer, dans le groupe Autre, cliquez sur Création requête.
- Dans la boîte de dialogue Afficher la table, cliquez sur la table à utiliser dans la requête, cliquez sur Ajouter pour placer cette table dans la grille de création, puis cliquez sur Fermer.
- ou -
Double-cliquez sur la table.
Si vous utilisez les données d'exemple, ajoutez la table Employés à la requête.
- Ajoutez les champs que vous voulez utiliser dans la requête à la grille de création. Vous pouvez double-cliquer sur chaque champ ou les faire glisser l'un après l'autre vers une cellule vide de la ligne Champ.
Si vous utilisez la table d'exemple, ajoutez les champs Nom de famille, Prénom et Date de naissance.
- Dans le champ contenant les premières ou dernières valeurs (le champ Date de naissance, si vous utilisez la table d'exemple), cliquez sur la ligne Trier et sélectionnez Croissant ou Décroissant.
Si votre champ de valeurs contient des données de type Numérique, telles que des prix ou des chiffres de ventes, l'ordre de tri Croissant renvoie les valeurs les plus basses, tandis que l'ordre de tri Décroissant renvoie les valeurs les plus élevées. Si votre champ de valeur contient des dates, l'ordre de tri Décroissant renvoie la date la plus récente et Croissant la date la plus ancienne.
Important Vous ne devez définir la ligne Trier sur Croissant ou Décroissant que pour les champs qui contiennent les premières ou dernières valeurs. Si vous spécifiez un ordre de tri pour un champ autre que celui qui contient les premières ou dernières valeurs (par exemple, Produit au lieu de Prix), la requête ne renverra pas les résultats escomptés.
- Sous l'onglet Créer, dans le groupe Outils, cliquez sur la flèche vers le bas en regard de Toutes (liste Premières valeurs), puis entrez le nombre ou le pourcentage d'enregistrements à afficher, ou bien sélectionnez une option dans la liste.
- Cliquez sur Exécuter
pour exécuter la requête et afficher les résultats en mode Feuille de données.
- Enregistrez la requête et laissez-la ouverte en vue de son utilisation aux étapes suivantes.
Vous pouvez constater que ce type de requête Premières valeurs permet de trouver des réponses à des questions simples (p.ex., « Qui est la personne la plus âgée ou la plus jeune de l'entreprise ? »). La procédure suivante explique comment utiliser des expressions et autres critères pour améliorer l'efficacité et la souplesse de la requête. Les critères mentionnés à l'étape suivante renvoient le nom des trois employés dont la date d'anniversaire est la plus proche.
Ajouter des critères à la requête
Remarque Cette procédure suppose que vous utilisiez la requête décrite dans la section précédente.
- Ouvrez la requête que vous avez créée au cours des étapes précédentes en mode Création.
- Dans la grille de création de requête, dans la colonne située à droite de la colonne Date de naissance, copiez-collez ou tapez l'expression Expr1: PartDate("m",[Date de naissance]). La fonction PartDate extrait la partie de la valeur du champ Date de naissance qui correspond au mois.
- À droite de la colonne où figure votre expression, copiez-collez ou tapez l'expression Expr2: PartDate("d",[Date de naissance]). Dans ce cas, la fonction PartDate extrait la partie de la valeur du champ Date de naissance qui correspond au jour.
- Désactivez les cases à cocher correspondant à chaque expression au niveau de la ligne Afficher, cliquez sur la cellule Trier
pour chaque expression, puis sélectionnez Croissant.
- Vous pouvez éventuellement spécifier des critères afin de limiter la portée de la requête. Dans ce cas, la requête trie les enregistrements en fonction des critères pour ensuite identifier les premières ou dernières valeurs dans la liste ainsi triée.
Pour reprendre les données d'exemple, dans la ligne Critères du champ Date de naissance, tapez ou copiez-collez l'expression suivante :
Mois([Date de naissance]) > Mois(Date()) Or Mois([Date de naissance])= Mois(Date()) And Jour([Date de naissance])>Jour(Date())
Cette expression effectue les opérations suivantes : la partie Mois([Date de naissance]) > Mois(Date()) vérifie la date d'anniversaire de chaque employé pour déterminer si elle se situe l'un des prochains mois et, si tel est le cas, elle inclut ces enregistrements aux résultats de la requête. La partie Mois([Date de naissance])= Mois(Date()) And Jour([Date de naissance])>Jour(Date()) de l'expression vérifie les dates de naissance qui tombent le mois en cours pour déterminer si la date d'anniversaire correspond à la date du jour ou à une date ultérieure. Si cette condition est vraie, la fonction inclut ces enregistrements aux résultats de la requête. En résumé, cette expression ignore les enregistrements dont la date d'anniversaire se situe entre le 1er janvier et la date à laquelle vous exécutez la requête.
D'autres exemples d'expressions de critères de requête sont présentés dans l'article Exemples de critères de requête.
- Sous l'onglet Créer, dans le groupe Outils, cliquez sur la flèche vers le bas en regard de Toutes (liste Premières valeurs), puis entrez le nombre ou le pourcentage d'enregistrements à afficher, ou bien sélectionnez une option dans la liste.
- Cliquez sur Exécuter
pour exécuter la requête et afficher les résultats en mode Feuille de données.
Si votre requête renvoie plus d'enregistrements que prévu
Si vos données contiennent des enregistrements dont la valeur de date est identique, il est possible que votre requête Premières valeurs renvoie une quantité de données plus importante que prévu. Par exemple, vous pouvez concevoir une requête Premières valeurs de façon à extraire les enregistrements de trois employés. Or, il s'avère que vous en obtenez quatre, car la date d'anniversaire de « Martin » et « Roux » tombe le même jour. Ce type de requête renvoie toutes les premières valeurs, quel que soit le nombre d'enregistrements où figurent ces valeurs. Pour exclure les valeurs en double, vous pouvez définir une propriété appelée Valeurs distinctes en lui attribuant la valeur Oui. Pour plus d'informations sur l'utilisation de cette propriété, voir la section Si vous constatez l'existence d'enregistrements en double, plus loin dans cet article.
| Nom de famille |
Date de naissance |
| Justin |
26.09.68 |
| Verdier |
02.10.70 |
| Roux |
15.10.65 |
| Martin |
15.10.69 |
Si votre requête renvoie moins d'enregistrements que prévu
Supposons que vous conceviez une requête dans le but d'extraire les cinq premiers ou derniers enregistrements d'un champ, mais que vous n'en obtenez que trois. En règle générale, pour résoudre ce type de problème, il suffit d'ouvrir la requête en mode Création et de rechercher dans la ligne Critères de la grille de création les critères qui s'avèrent plus restrictifs que prévu. Pour plus d'informations sur les critères, voir l'article Exemples de critères de requête. Si vous constatez l'existence d'enregistrements en double
Si une requête Premières valeurs renvoie des doublons, c'est le signe que les tables sous-jacentes contiennent des enregistrements en double ou que la requête n'inclut pas de champs permettant de faire une distinction entre les enregistrements, ce qui se traduit par l'affichage d'enregistrements qui s'apparentent à des doublons. Par exemple, voici une requête qui présente les cinq commandes dont la date d'expédition est la plus récente, ainsi que le nom du représentant commercial qui a assuré la transaction.
| Date d'expédition |
Représentant |
| 12.11.04 |
Fontana |
| 12.11.04 |
Mottet |
| 12.10.04 |
Orsini |
| 12.10.04 |
Ourset |
| 12.10.04 |
Fontana |
Les troisième et quatrième enregistrements sont en double peut-être parce que le représentant Ourset a traité deux commandes différentes qui ont été expédiées le même jour.
En fonction de vos besoins, vous pouvez effectuer l'une des deux opérations suivantes pour éviter le renvoi d'enregistrements en double. Vous pouvez modifier la conception de la requête de façon à ajouter des champs qui permettront de distinguer les enregistrements (p.ex., des champs Réf. commande et Code client). Ou bien, si l'affichage d'une seule occurrence des enregistrements en double vous convient, vous pouvez afficher uniquement les enregistrements distincts en attribuant à la propriété Valeurs distinctes de la requête la valeur Oui. Pour définir cette propriété, en mode Création de requête, appuyez sur F4 pour afficher la feuille de propriétés de la requête, localisez la propriété Valeurs distinctes, puis attribuez-lui la valeur Oui.
Pour plus d'informations sur le traitement des enregistrements en double, voir l'article Rechercher, masquer ou éliminer les données en double.
Haut de la page
Rechercher les premières ou dernières valeurs dans des enregistrements appartenant à des catégories ou des groupes
Pour rechercher les premières ou dernières valeurs d'enregistrements divisés en groupes, vous devez créer une requête Totaux. Au cours de cette étape, gardez à l'esprit que, par défaut, une requête Totaux ne peut inclure que le ou les champs contenant vos données de groupe (p.ex., un champ « catégories »), ainsi que le champ contenant les premières ou dernières valeurs (p.ex., un champ « prix »). Les requêtes Totaux ne peuvent pas inclure d'autres champs de description des éléments d'une catégorie. Toutefois, vous pouvez créer une deuxième requête qui inclue les champs de votre requête Totaux, plus des champs d'autres tables contenant des données descriptives
Par exemple, supposons que vous disposez d'une table de produits et que vous associez à chaque produit une catégorie (p.ex., Jeux de société, Casses-têtes, etc.). Si vous créez une requête Totaux pour identifier le produit le plus cher de chaque catégorie, la requête ne peut inclure que le ou les champs qui contiennent les données de catégorie, ainsi que le champ qui contient les données de prix. Pour cet exemple, supposons qu'il existe un champ intitulé Nom de catégorie et un champ Prix. Lorsque vous exécutez ce type de requête, Access ajoute systématiquement « MaxDe » ou « MinDe » (selon la fonction que vous choisissez) au début du champ Prix, comme l'illustre l'exemple suivant :
| Nom de catégorie |
MaxDePrix |
| Jeux de société |
55,00 € |
| Puzzles |
43,90 € |
| Jeux vidéo |
263,50 € |
| Poupées |
81,00 € |
| ... |
... |
Votre requête Totaux ne pas inclure d'autres champs qui permettraient de décrire le produit (et faciliteraient donc la compréhension des données) avec, par exemple, le nom du produit ou le nom du fournisseur, comme dans la table suivante :
| Nom de catégorie |
MaxDePrix |
Produit |
Fournisseur |
| Jeux de société |
55,00 € |
C++ en folie |
Proseware, Inc. |
| Casses-têtes |
43,90 € |
Schéma de base de données relationnelle |
Lucerne Publishing |
| Jeux vidéo |
263,50 € |
Accros de l'informatique et créatures mythiques |
Litware, Inc. |
| Poupées |
81,00 € |
Figurine articulée de programmeur |
Contoso, Ltd |
| ... |
... |
... |
... |
Si vous souhaitez afficher ces données descriptives, vous pouvez créer une seconde requête Sélection qui combine les champs de votre requête Totaux et les champs de données supplémentaires.
La procédure décrite dans cette section explique comment créer la requête Totaux et la requête Sélection nécessaires à l'identification des produits les plus chers dans chaque jeu de catégories. Cette procédure suppose l'utilisation des tables d'exemple suivantes :
Table Catégories
| Code catégorie |
Nom de catégorie |
Description |
| 1 |
Jeux de société |
Tous âges et aptitudes |
| 2 |
Casses-têtes |
Puzzles, mots croisés, puzzles-jouets |
| 3 |
Jeux vidéo |
Toutes consoles et tous niveaux |
| 4 |
Poupées |
Figurines, poupées |
| 5 |
Articles de sport |
Ballons, vêtements, filets |
| 6 |
Maquettes/modélisme |
Voitures, avions, trains |
Table Fournisseurs
| Code fournisseur |
Nom du fournisseur |
| 1 |
Fabrikam |
| 2 |
Tailspin Toys |
| 3 |
Northwind Traders |
| 4 |
Adventure Works |
| 5 |
Lucerne Publishing |
| 6 |
Proseware, Inc. |
| 7 |
Contoso, Ltd |
| 8 |
Wide World Importers |
| 9 |
Wingtip Toys |
| 10 |
Wide World Importers |
| 11 |
Litware, Inc. |
| 12 |
Southridge Video |
Table Produits
| Produit |
Code fournisseur |
Code catégorie |
Prix |
| Figurine articulée de programmeur |
7 |
4 |
12,95 € |
| C++ en folie |
6 |
1 |
15,85 € |
| Schéma de base de données relationnelle |
5 |
2 |
22,50 € |
| La puce informatique magique |
3 |
2 |
32,65 € |
| Access, le jeu ! |
1 |
1 |
22,95 € |
| Accros de l'informatique et créatures mythiques |
11 |
3 |
78,50 € |
| Gym pour les accros de l'informatique, le DVD ! |
4 |
5 |
14,88 € |
| La pizza volante |
2 |
5 |
36,75 € |
| Lecteur de disquette externe 5,25 pouces (échelle 1/4) |
8 |
6 |
65,00 € |
| Figurine non articulée de cadre |
9 |
4 |
78,88 € |
| Gloom |
12 |
3 |
53,33 € |
| Fabriquez votre propre clavier |
1 |
6 |
77,95 € |
Remarque La procédure suppose par ailleurs l'existence d'une relation un-à-plusieurs entre les tables Catégories et Produits, de même qu'entre les tables Fournisseurs et Produits. Dans ce cas, les tables partagent les champs Code fournisseur et Code catégorie. La requête Totaux décrite dans les sections suivantes ne peut pas fonctionner sans ces relations.
Créer la requête Totaux
- Sous l'onglet Créer, dans le groupe Autre, cliquez sur Création requête.
- Dans la boîte de dialogue Afficher la table, sélectionnez les tables que vous souhaitez utiliser, cliquez sur Ajouter, puis sur Fermer une fois les tables ajoutées.
- ou -
Double-cliquez sur les tables que vous souhaitez utiliser, puis cliquez sur Fermer. Chaque table apparaît dans la grille de création. Si vous utilisez les tables d'exemple présentées plus haut, ajoutez les tables Catégories et Produits.
- Double-cliquez sur les champs de table à utiliser dans votre requête.
À ce stade, veillez à n'ajouter à la requête que les champs de groupe et le champ de valeur. Si vous utilisez les données d'exemple contenues dans la table précédente, ajoutez le champ Nom de catégorie de la table Catégories, ainsi que le champ Prix de la table Produits.
- Vous pouvez éventuellement spécifier un critère pour limiter la portée de la requête.
Seuls seront triés les enregistrements qui correspondront aux critères, et les premières et dernières valeurs de champ seront identifiées dans cette liste triée. Par exemple, pour exclure les produits de la catégorie Sports, vous devez ajouter l'expression suivante à la ligne Critères du champ Nom de catégorie : <>"Sports".
D'autres exemples d'expressions de critères de requête sont présentés dans l'article Exemples de critères de requête.
- Convertir la requête en requête Totaux.
Sous l'onglet Créer, dans le groupe Afficher/Masquer, cliquez sur Totaux.
La ligne Total apparaît dans la grille de création.
- Assurez-vous que la cellule Total de chaque champ de groupe est définie sur Regroupement, puis définissez la cellule Total du champ de valeur (champ contenant les premières ou dernières valeurs) sur Max ou Min.
Le fait de sélectionner Max entraîne le renvoi de la valeur la plus élevée d'un champ de type Numérique et la valeur de date ou d'heure la plus récente d'un champ de type Date/Heure. À l'inverse, le fait de sélectionner Min entraîne le renvoi de la valeur la plus petite d'un champ de type Numérique et la valeur de date ou d'heure la plus ancienne d'un champ de type Date/Heure. Si vous utilisez les données d'exemple, définissez la cellule Total du champ Nom de catégorie sur Regroupement et la cellule Total du champ Prix sur Max ou Min.
- Sous l'onglet Créer, dans le groupe Outils, assurez-vous que la liste Premières valeurs est définie sur Toutes, puis cliquez sur Exécuter
pour exécuter la requête et afficher les résultats en mode Feuille de données. Remarque Selon la fonction que vous avez choisie à l'étape 7, Access remplace le nom du champ de valeur de la requête par MaxDeNomChamp ou MinDeNomChamp. Si vous utilisez les tables d'exemple, Access renomme le champ MaxDePrix ou MinDePrix.
- Enregistrez la requête et passez aux étapes suivantes.
La requête ne renvoie aucun nom de produit ni aucune autre information sur les produits. Pour afficher ces données supplémentaires, vous devez créer une deuxième requête qui intègre la requête que vous venez de créer. La procédure suivante explique comment créer cette deuxième requête.
Créer une deuxième requête pour afficher des informations supplémentaires
- Sous l'onglet Créer, dans le groupe Autre, cliquez sur Création requête.
- Dans la boîte de dialogue Afficher la table, cliquez sur l'onglet Requêtes, puis double-cliquez sur la requête Totaux que vous avez créée précédemment.
- Cliquez sur l'onglet Tables et ajoutez les tables que vous avez utilisées dans votre requête Totaux, plus les tables contenant les autres données associées que vous souhaitez afficher.
Si vous utilisez les tables d'exemple présentées plus haut, ajoutez les tables Catégories, Produits et Fournisseurs à votre nouvelle requête.
- Joignez les champs de la requête Totaux aux champs correspondants des tables parent. Pour ce faire, faites glisser chaque champ de la requête Totaux vers le champ correspondant dans la table.
Si vous utilisez les données d'exemple, faites glisser le champ Nom de catégorie de la requête Totaux vers le champ Nom de catégorie de la table Catégories. Faites ensuite glisser le champ MaxDePrix de la requête Totaux vers le champ Prix de la table Produits. Ces jointures permettent à la nouvelle requête Sélection de regrouper les données de la requête Totaux et les données des autres tables.
- Dans la fenêtre de la requête Totaux, double-cliquez sur l'astérisque pour ajouter la requête entière à la grille de création, puis faites glisser les champs additionnels des autres tables dans la requête.
Si vous utilisez les tables d'exemple, double-cliquez sur la requête Totaux que vous avez créée précédemment, puis ajoutez les champs Produit et Fournisseur de la table Produits et Fournisseurs, respectivement.
- Spécifiez éventuellement un ordre de tri pour une ou plusieurs colonnes.
Par exemple, pour classer les catégories par ordre alphabétique, définissez la cellule Trier de la colonne Nom de catégorie sur Croissant.
- Sous l'onglet Créer, dans le groupe Résultats, cliquez sur Exécuter.
La requête s'exécute et les résultats s'affichent en mode Feuille de données.
Conseil Si vous ne tenez pas à ce que l'en-tête de la colonne Prix ait pour nom MaxDePrix ou MinDePrix, ouvrez la requête en mode Création puis, dans la colonne Prix de la grille, tapez Prix: MaxDePrix ou Prix: MinDePrix. Ainsi, l'en-tête de la colonne en mode Feuille de données sera intitulé Prix .
Haut de la page
Rechercher les enregistrements qui contiennent les première et dernières valeurs
Les requêtes que vous avez créées précédemment en suivant les procédures de cet article peuvent renvoyer les premières ou dernières valeurs, mais pas les deux à la fois. Si vous souhaitez afficher les deux groupes de valeurs à la fois dans une même vue, vous devez créer deux requêtes (une qui extrait les premières valeurs et une autre qui extrait les dernières valeurs) pour ensuite fusionner et stocker les résultats dans une table unique.
La procédure qui consiste à rechercher les premières et dernières valeurs et à afficher ces données dans une table comprend les étapes générales suivantes :
- Créez une requête Premières valeurs et une requête Dernières valeurs ou, si vous avez besoin de regrouper vos données, créez des requêtes Totaux qui fassent appel aux fonctions Min et Max.
- Convertissez votre requête Premières valeurs (ou votre requête Totaux Max) en requête de création de table et exécutez cette dernière pour créer une nouvelle table.
- Convertissez votre requête Premières valeurs (ou votre requête Totaux Min) en requête Ajout et exécutez cette dernière pour ajouter les enregistrements à votre table de premières valeurs.
Les procédures décrites dans ces sections expliquent comment créer la requête.
Remarque Si votre base de données n'est pas signée numériquement ou si elle ne réside pas dans un emplacement approuvé, Access empêche l'exécution des requêtes action décrites ici. Effectuez la première série d'étapes pour activer tout le contenu bloqué avant d'essayer de créer les requêtes Création de table et Ajout décrites ici.
Activer le contenu d'une base de données
Si la barre des messages n'est pas visible
- Dans le groupe Afficher/Masquer de l'onglet Outils de base de données, cliquez sur Barre des messages.
Pour plus d'informations sur le mode désactivé et la sécurité Access, voir l'article Sécuriser une base de données Access 2007.
Créer les requêtes
- Créez les requêtes sur les premières et dernières valeurs.
Pour plus d'informations sur la création d'une requête portant sur les premières ou dernières valeurs, voir la section Rechercher les enregistrements contenant les premières ou dernières valeurs, plus haut dans cet article. Si vous avez besoin de regrouper vos enregistrements par catégorie, voir la section Rechercher les premières ou dernières valeurs dans des enregistrements appartenant à des catégories ou des groupes, plus haut dans cet article.
- Enregistrez chaque requête et laissez-les ouvertes en vue de leur utilisation aux étapes suivantes.
Créer la requête de création de table
- Après avoir ouvert votre requête Premières valeurs en mode Création :
Sous l'onglet Créer, dans le groupe Type de requête, cliquez sur Création de table.
La boîte de dialogue Création de table s'affiche.
- Dans la zone Nom de la table, attribuez un nom à la table où seront stockés les premiers et derniers enregistrements. Par exemple, tapez Premier et derniers enregistrements, puis cliquez sur OK.
Chaque fois que vous exécutez la requête, plutôt que d'afficher les résultats en mode Feuille de données, la requête crée une table et remplace la première valeur par les données actuelles.
- Enregistrez et fermez la requête.
Créer une requête Ajout
- Ouvrez votre requête Dernières valeurs en mode Création.
- Sous l'onglet Créer, dans le groupe Type de requête, cliquez sur Ajout.
- Dans la boîte de dialogue Ajout, tapez le nom que vous avez entré dans la boîte de dialogue Création de table.
Par exemple, tapez Premiers et derniers enregistrements, puis cliquez sur OK. Chaque fois que vous exécutez la requête, plutôt que d'afficher les résultats en mode Feuille de données, la requête ajoute les enregistrements à la table Premiers et derniers enregistrements.
- Enregistrez et fermez la requête.
Exécuter les requêtes
Vous êtes maintenant prêt à exécuter les deux requêtes.
- Dans la fenêtre Base de données, double-cliquez sur la requête Premiers valeurs et cliquez sur Oui dans les messages.
- Double-cliquez sur la requête Dernières valeurs et cliquez sur Oui dans les messages.
- Ouvrez la table des premiers et derniers enregistrements en mode Feuille de données.
Haut de la page
|