Temps
nécessaire pour suivre cette leçon : Entre une demie heure et
trois bons quarts d'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 voir que les filtres et les tris fonctionnent dans les
formulaires exactement comme dans les tables (Leçon
19). Rien de neuf, sauf que cette fois, nous allons apprendre à enregistrer nos filtres comme des requêtes, et les récupérer dynamiquement en tant que telles. |
Avant de commencer, j'ai besoin d'un formulaire en mode tableau qui va ressembler à ceci :
Tiens, ça vous fera un excellent exercice de révision de la leçon précédente ! Enregistrez-le sous F_CelebritePourFiltre
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 ?
Bien. Vous vous rappelez bien de tout ce que nous avons vu à la leçon 19 ?
OK. Je vous attend.
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.
Pas exactement. Oui et non. C'est surtout qu'on va pouvoir utiliser la puissance d'une requête directement dans notre formulaire.
Cliquez sur l'icone "Filtrer par formulaire" :
Vous vous retrouvez dans votre même formulaire, mais avec plus aucun enregistrement :
C'est un peu le "masque de saisie" des critères de choix.
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)
:
Vous cliquez sur le petit entonnoir "Appliquer le filtre"
: . Vous obtenez
normalement 21 enregistrements : Les "Monsieur" qui font du "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.
Dans ce cas, cliquez sur ,
et regardez en bas de l'écran : Vous avez un onglet Rechercher
(c'est l'onglet actuel de recherche) et un onglet
OU :
. Cliquez dessus.
. Maintenant, choisissez
Politique dans la zone Domaine :
Eh oui, c'est que dans l'onglet OU ,
il fallait également REPETER que vous voulez les Monsieur,
sinon, il donne les Monsieur qui font du cinéma et les ??? qui font de
la politique (Monsieur, madame, mademoiselle, ...)
... Eh oui, vous cliquez sur le nouvel onglet OU qui vient d'apparaître
: (le 3ème
OU apparaît quand vous cliquez sur le 2ème OU, celui qui est en
blanc), et vous choisissez "Mademoiselle" et "Chanson"
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 :
Oui. En mode saisie de données, cliquez sur le petit entonnoir : ,
ca va donner l'impression qu'il n'est plus enfoncé. Pour réactiver
le filtrer, re-cliquez sur
Oui. En mode Filtre (Cliquez sur ,
donc), cliquez sur
(Effacer la grille). Maintenant, quand vous cliquez sur
,
il n'y a plus de filtre du tout : les 101 enregistrements sont présents.
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 à la leçon 22).
. Lancez le filtre,
vous devriez obtenir 3 enregistrements (Julia Roberts, Michel Simon et Ingemar
Stenmark).
Revenez en mode filtre avec .
Cliquez ensuite sur
(Enregistrer comme requête). Appelez-là R_CelebriteFinAlphabetPauvre.
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 ?
Puissant, n'est-ce pas ?
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 :
Voilà : vous avez 22 enregistrements, les mêmes que dans la requête bien sûr.
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é.
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. |
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. |
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) 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, qui n'est autre que ProFormation à 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