Temps nécessaire pour suivre cette leçon : Entre vingt minutes et une demie heure
Pour suivre cette leçon, vous devez avoir suivi les leçons précédentes. Ou plus précisément, vous devez être en possession de la base de données ProFormation.mdb telle qu'elle était à la fin de la leçon précédente. Si vous n'êtes pas certain de l'avoir, vous pouvez la télécharger ici
Dans cette leçon, nous allons commencer à élaborer des requêtes plus intéressantes. Bon, au début, vous aurez un peu l'impression que finalement, l'utilisation des filtres dans les tables avec le bouton droit de la souris (leçon 19) est plus simple, mais petit à petit, vous apprécierez les requêtes au fur et à mesure de votre avancement. |
C'est un premier exemple simple : Nous allons le mettre en oeuvre : Créez une nouvelle requête basée sur T_Celebrite, et placez-y les champs Prenom, NomClient, et Domaine (Je suppose que vous savez bien faire ça maintenant, sinon, revoyez la leçon précédente).
Dans cette requête, en mode création, vous allez écrire sport dans le critère de la colonne Domaine, comme ceci : . Lorsque vous appuyez sur ENTER, ou simplement si vous cliquez dans une autre case, sport se met automatiquement entre guillemets : (Vous auriez pu installer les guillemets vous-même, mais puisqu'Access a la gentillesse de le faire à notre place, laissons-le !)
Pour constater le résultat de notre première requête un tant soit peu utile, lancez-là en mode saisie de données : . Vous avez la liste de tous les prénoms et le nom des célébrités dont le domaine = Sport. Il y en a 17 (le chiffre en bas, comme dans les tables). Remarquez également la petite diférence avec les extractions dans les tables (vous vous rappelez : Bouton droit de la souris/Filtrer pour): Il y avait le mot (Filtré) à côté du nombre d'enregistrements. Ici, il n'y a pas ce petit mot, parce que la requête est complète en tant que telle.
C'est vrai que c'est un filtre quelque part, mais comme il s'agit du résultat d'une requête, il indique 17 enregistrements, point final. Bon, c'est un détail, ne vous focalisez pas trop la dessus.
Oui : Encore une fois, Access ne fait pas la différence entre majuscules et minuscules. Vous auriez écrit SPORT, sport, sPoRt ou Sport, comme critère, vous auriez toujours eu 17 réponses.
Si c'est du texte, oui. Nous verrons plus tard que s'il s'agit de dates, il ajoute des dièses #, et s'il s'agit de données numériques, il ne met carrément rien autour.
Mais ne vous préoccupez pas trop de savoir s'il faut mettre des guillemets ou pas puisqu'Access le fait à votre place.
Il est classé sous Chanson par erreur... Eh oui, encore une fois, voyez comme les erreurs de saisie sont dérangeantes... Vous pouvez vérifier que Jean Alési est bien classé sous chanson (laissez-le mal classé, ça nous permettra de constater d'autres erreurs tout au long du cours).
Maintenant, Enregistrez cette requête : appelez-là R_CelebriteSportive (R pour requête, Celebrite pour rappeler le nom de la table, et sportive pour préciser que c'est ce que la requête recherche. Pas de S a sportive pour garder la règle absolue : JAMAIS de pluriels dans les noms de tables ou de champs).
C'est excatement ça !
Oui. C'est vrai. Comme je vous l'ai déjà dit, nous allons garder des noms stricts pour nos requêtes, mais nous avons la possibilité de les décrire, de leur donner un petit nom sympathique pour mieux nous y retrouver : Quittez cette requête. Nous allons lui donner un meilleur nom : "Liste des célébrités sportives", mais vous n'aller pas renommer la requête, vous allez cliquer avec le bouton droit de votre souris sur R_CelebriteSportive, et choisir Propriétés . Vous arrivez dans cette boîte de dialogue : . Elle contient plusieurs renseignements : La date de création de la requête, son éventuelle date de modification, et, ce qui nous intéresse, une zone Description.
Ecrivez dedans : "Liste des célébrités sportives", et cliquez sur OK. Normalement, cette manipulation devrait vous rappeler des souvenirs : Nous avons déjà vu ça lors de la leçon 12.
Ici, justement, nous allons bien exploiter cette manière de faire pour non pas inscrire une description conviviale de chaque requête, mais plutôt la manière que nous avons utilisé pour obtenir tel ou tel résultat.
Justement, pour cette requête, donnez comme description Domaine = "sport" : , et cliquez sur OK. Demandez l'affichage complet (revoyez la leçon 12 si vous avez besoin de vous rafraîchir la mémoire). L'icone à cliquer est celui-ci : . Comme ça, vous visualiserez la liste des requêtes comme ceci : , ce qui fait que quand nous aurons fait un grand nombre de requêtes, vous verrez comme description une sorte de petit résumé des critères que nous aurons utilisé, et ça vous servira comme une sorte de "dictionnaire syntaxique" : Vous n'aurez plus qu'à consulter votre liste de requêtes et leur description pour vous donner des idées pour la création d'autres requêtes, ou comme aide-mémoire.
D'accord. Créez une nouvelle requête, toujours basée sur T_Celebrite, placez-y les champs Prenom, NomClient, et SalaireMensuel.
Comme critère de SalaireMensuel, Ecrivez >25000 : . Si vous cliquez dans une autre case, vous verrez que cette fois, Access n'ajoute pas de guillemets, c'est normal : il s'agit d'un champ numérique (Monétaire très exactement). Lancez la requête en mode saisie de données : Vous devriez voir 22 enregistrements : Tous les gens qui gagnent plus de 25000 francs par mois.
Non, parce que nous avons demandé >25000. Mettez plutôt >=25000, ça les inclura. Combien en trouvez-vous ?
Qui est apparu en plus ?
Oui, mais vous pouvez très bien, comme dans les tables, cliquer avec le bouton droit de votre souris et choisir "Ordre croissant" , ce sera plus facile : Les montant les plus bas seront ainsi en tête de liste
Pas du tout, c'est un simple tri dynamique, comme dans les tables : Dans les tables, lorsque vous demandiez des tris alphabétiques, ils n'étaient pas mémorisés non plus.
Oui, mais nous verrons cela un peu plus tard.
Tout ce que je voulais vous montrer ici, c'est que les requêtes, tout comme les tables, peuvent se trier dynamiquement en utilisant le bouton droit de la souris.
Là, il n'y aurait même pas besoin d'écrire le signe =. Le seul chiffre 25000 suffirait. Ne le faites pas. C'était juste une petite précision
Vous allez maintenant enregistrer cette requête sous R_CelebriteRiche, et comme commentaire pour cette requête, vous allez préciser : Salaire>=25000 (Donc bouton droit de la souris sur la requête, et propriétés)
Essayons : Créez une nouvelle requête, toujours basée sur T_Celebrite, contenant les champs Prenom, NomClient et SalaireMensuel. Comme critère de salaire mensuel, écrivez littéralement : entre 10000 et 15000
Oui. Ca ne veut pas dire qu'il comprendra n'importe quoi, mais le mot "Entre" et "Et", il comprend. D'ailleurs, si vous cliquez dans une autre case, ou que vous appuyez sur Enter, vous allez constater qu'il met une majsuscule à "entre" et à "et" : Entre 10000 Et 15000
Oui. Lancez la requête. Vous avez bien 24 personnes ?
Triez-les par ordre alphabétique (Bouton droit de la souris, Ordre croissant)
Oui. Avant ça, vous allez enregistrer cette requête sous R_CelebriteSalaireMoyen. Maintenant, nous allons faire une nouvelle requête pour justement voir comment faire pour exclure les gens qui gagnent exactement 10'000 et ceux qui gagnent exactement 15'000 francs.
Si vous voulez. Dans ce cas, restez dans cette requête que vous venez d'enregistrer, et remplacez votre critère Entre 10000 et 15000 par >10000 Et <15000
Oui. Lancez la requête. Vous avez bien 21 personnes au lieu de 24 ?
Oui, MAIS attention : Si vous cliquez sur la petite disquette , ou que vous faites Fichier/Enregistrer, vous allez écraser votre précédente requête R_CelebriteSalaireMoyen ! Ce n'est pas ce qu'on veut !
Exactement. Allez-y, et donnez-lui le nom R_CelebriteSalaireMoyen2: , et cliquez sur OK.
Quittez la requête, et donnez une description pour chacune de de ces deux nouvelles requêtes :
Dans cette leçon, nous venons d'apprendre à utiliser quelques critères tels que < (inférieur à), <= (inférieur ou égal à), "sport" (recherche d'une chaîne de caractère précise), Entre 10000 Et 15000 (Recherche d'une fourchette de valeurs, les limites étant incluses), nous avons appris comment utiliser le mot Et accompagné des signes > et < pour exclure les valeurs limites, Et, et Enregistrer Sous un autre nom de requête. |
Pour voir les solutions, il vous suffit de sélectionner le questionnaire ci-dessus : 3 petites étoiles *** apparaîtront en face des bonnes réponses. |
Vous ferez l'exercice proposé directement dans votre base de données habituelle ProFormation. Il s'agit simplement de création de requêtes selon des critères bien définis. Chacune de vos requêtes devra obligatoirement contenir le "Prénom" et le "NomClient" de la table T_Celebrite, ainsi que d'autres champs en fonction de la demande :
Téléchargez la solution de l'exercice ici (qui n'est autre que ProFormation.MDB telle qu'elle devrait être à la fin de cette leçon) |
Si vous n'êtes pas tout à fait certain d'avoir suivi correctement toutes les étapes de cette leçon, vous avez la possibilité de télécharger ici la version de ProFormation.mdb exactement dans l'état ou elle devrait être à la fin de cette leçon.
Avez-vous une question technique
concernant cette leçon ? Cliquez
ici !
Une remarque sur cette leçon ? Un problème
? Une erreur ? une ambiguité ? Soyez
gentil de m'en informer