Sommaire
- Filtrer les données par formulaire : création du filtre
- Filtrer les données par formulaire : visualisation du résultat
- Filtrer les données par formulaire : application de plusieurs critères
- Filtrer les données par formulaire : enregistrer un filtre sous forme d'une requête
- Filtrer les données par formulaire : création d'une requête qui va servir de filtre

Je ne peux pas le récupérer directement au lieu de le créer ?
Ah ah... vous avez la flemme. Je vois ! Pas de problème : Il est dans la base de données de cette leçon, tout simplement.Bref, quelle que soit la méthode utilisée, vous devez l'avoir sous les yeux en mode saisie de données, comme le dessin plus haut (bon, vous, vous avez plus d'enregistrements sous les yeux évidemment, car j'ai réduit la fenêtre lorsque j'âi fait ma copie d'écran). Vous l'avez ?
Oui. C'est bon.
Bien. Vous vous rappelez bien de tout ce que nous avons vu à la leçon 19 ?Normalement oui. Attendez-je vais quand même la reparcourir pour être sûr !
OK. Je vous attend.Voilà. C'est bon !
Bien. Maintenant, nous allons aborder une technique plus puissante que le bouton droit de la souris pour "Filtrer par sélection", ou Hors sélection.C'est une requête ça, non ?
Pas exactement. Oui et non. C'est surtout qu'on va pouvoir utiliser la puissance d'une requête directement dans notre formulaire.Filtrer les données par formulaire : création du filtre
Cliquez sur l'icone "Filtrer par formulaire" :
Vous vous retrouvez dans votre même formulaire, mais avec plus aucun enregistrement :

Par exemple, si vous désirez visualiser tous les hommes qui font du cinéma, choisissez Monsieur dans le Titre, et Cinéma dans le domaine. Access rajoute automatiquement des guillemets, comme dans les requêtes (Leçon 22) :

Filtrer les données par formulaire : visualisation du résultat
Et pour voir le résultat ?
Vous cliquez sur le petit entonnoir "Appliquer le filtre" :
Effectivement. Et c'est vraiment comme si j'avais utilisé le bouton droit de la souris "Filtrer pour" : "Monsieur" et aussi "Filtrer pour" : "Cinéma" !
C'est strictement la même chose. Disons que le bouton droit est plus rapide, et ce nouveau système est plus convivial.Et si j'avais voulu tous les "Monsieur" qui font du cinéma ou de la politique ?
Filtrer les données par formulaire : application de plusieurs critères
Dans ce cas, cliquez sur



OK. Je lance le filtre en cliquant sur
... Mais... C'est bizarre, j'obtiens des gens sans titre (Michael Gorbatchev) et qui fait de la politique, et, plus grave, j'obtiens Margaret Thatcher qui n'est pas un homme pourtant...
Eh oui, c'est que dans l'onglet OU 
OK. Je vais corriger ça.... Voilà ! ça marche : J'obtiens bien 28 enregistrements, tous corrects !
Mais alors si je voulais aussi par exemple, je ne sais pas moi, heu... Tiens ben les mademoiselles qui font de la chanson je ferais...
... Eh oui, vous cliquez sur le nouvel onglet OU qui vient d'apparaître : 
J'ai effectivement 30 enregistrements, soient 2 de plus : Britney Spears et Jennifer Lopez !
Attention : Access mémorise discrètement (Sournoisement ?) votre dernier filtre.C'est à dire que si vous fermez votre formulaire, ou même la base de données, ou MEME Acecss lui-même, et que vous revenez dans votre base de données, dans le formulaire, il est possible que le filtre soit encore actif (vous avez 30 enregistrements au lieu de 101), ou il est possible qu'il ait été désactivé... J'ai constaté que ce n'était pas toujours l'un ou l'autre. Dans tous les cas, vous pouvez retourner à votre filtre qui n'a pas été effacé avec

Vous connaissez maintenant un mode de plus :
- Le mode création : pour concevoir vos formulaires
- Le mode saisie de données : pour modifier, supprimer, ajouter des enregistrements
- Le mode FILTRE : pour filtrer des enregistrements
On peut désactiver un filtre sans le détruire ?
Oui. En mode saisie de données, cliquez sur le petit entonnoir :

Et peut-on carrément détruire le filtre sans avoir besoin d'effacer à la main en mode filtre "Monsieur", puis "Mademoiselle", puis "Politique" etc. ?
Oui. En mode Filtre (Cliquez sur


Filtrer les données par formulaire : enregistrer un filtre sous forme d'une requête
C'est bien comme fonction : demandez sous forme de filtre de formulaire les gens dont le nom commence au moins par la lettre R (>"R"), et qui gagnent moins de 10000 francs par mois (Rappel à laleçon 22).
Effectivement.
Revenez en mode filtre avec

Ah d'accord ! Et on peut la voir dans la liste des requêtes ?
Mais oui. C'est une requête toute simple, qu'on a fabriqué non pas avec le QBE (Query By Example - Générateur de requête), mais directement depuis le formulaire. Fermez votre formulaire, et allez voir dans vos requêtes. Vous la voyez ?
Oui. Et je peux même y accéder en mode création :
!
Puissant, n'est-ce pas ?Filtrer les données par formulaire : création d'une requête qui va servir de filtre
On peut faire tout aussi bien l'inverse : c'est à dire qu'on peut tout à fait créer une requête avec le générateur de requête que vous connaissez bien (Requête/Nouvelle requête), et ensuite appliquer cette requête directement comme un filtre de formulaire.Marche à suivre :
- Fermez cette requête
- Créez une nouvelle requête simple, basée sur T_Celebrite
- Demandez les hommes vivants qui possèdent une remarque *:
* Constatez que le champ Remarque n'existe pas dans le formulaire F_CelebritePourFiltre : Je l'ai fait exprès - Enregistrez cette requête sous "R_CelebriteHommeVivantAvecRemarque"
- Exécutez-là pour vous assurer que vous ayez bien 22 enregistrements, tous corrects (Correspondants à ce qui était demandé)
- Fermez cette requête
- Ouvrez votre formulaire F_CelebritePourFiltre
- Allez en mode Filtre
- Cliquez sur
(Charger à partir d'une requête)
- Choisissez votre requête R_CelebriteHommeVivantAvecRemarque
- Cliquez sur OK
- Ajoutez le champ Remarque dans votre formulaire (Sinon le filtre Remarque Est Pas Null ne sera pas pris en compte)
- Appliquez le filtre
Tout ce qui était expliqué dans cette leçon prenait pour base un formulaire en mode tableau, mais ça marche de manière strictement identique pour les formulaires en mode Colonne (un enregistrement par écran). Mais dans ce cas, il faut évidemment se balader d'enregistrement en enregistrement pour constater que le filtre s'est correctement appliqué.
Bon... Hem... On peut résumer ?
Il est possible de filtrer les données dans les formulaires de la même manière que dans les tables : avec le bouton droit de la souris. Il est d'autre part possible de créer des requêtes de toutes pièces. Nous avons vu qu'il est aussi possible de passer en mode "Filtre" dans le formulaire, et d'extraire ainsi les enregistrements avec plus de souplesse. On peut ensuite enregistrer ses filtres comme des requêtes directement en mode filtre du formulaire. Il est également possible de récupérer une requête extérieure comme filtre de formulaire. |
Avez-vous bien compris ?
|
Exercice
L'exercice consiste à créer 2 filtres depuis votre formulaire F_CelebritePourFiltre : - La première contiendra les femmes qui ne font pas de sport: Vous exporterez ce filtre comme requête : R_FemmeNonSportive (Il y en a 24) - La 2ème contiendra les sportifs/sportives qui sont nés avant l'année 1960 et les gens décédés qui font du cinéma : Vous exporterez ce filtre comme requête : R_VieuxEtDecedeCinema (Il y en a 14) Quand vous aurez effectué, appliqué et enregistré cette 2ème requête, vous importerez la première requête en tant que filtre dans votre formulaire, histoire de revoir les femmes non-sportives. Téléchargez la solution de l'exercice ici |
0 commentaires:
Enregistrer un commentaire