Solution de l'exercice des cartes postales

Téléchargez la solution ici | Revenez à l'énoncé de l'exercice ici

Explication

Vous avez peut-être essayé de créer directement un état avec l'assistant Etiquette, en supposant qu'il y aurait alors une option pour choisir qui on veut sélectionner, mais rien de tel n'existe...

Vous vous êtes peut-être jeté à corps perdu dans une requête, mais vous avez constaté que quelque soit le critère demandé, impossible de choisir exactement qui on veut...

En fait, il vous manque une information : C'est pour chaque personne, déterminer S'IL A DROIT à une carte postale !

Oui : Il faut donc commencer par ajouter à la table T_Client un champ que vous appellerez CartePostale par exemple, qui sera d'un type de données Oui/Non :

Ce qui fait qu'en mode saisie de données, c'est maintenant ultra-simple de sélectionner les gens qui vont avoir une carte postale (Qui apparaîtront dans les étiquettes), par exemple :

Et maintenant, nous l'avons, notre information manquante : Nous allons maintenant seulement, créer une nouvelle requête avec comme critère : CartePostale : OUI.

Créeons cette requête qui va contenir tous les champs qui vont apparaître dans les étiquettes (pas besoin de mettre tous les champs), et, bien entendu, la case à cocher pour donner le critère :

Qui va donc nous renvoyer exactement les bons champs des bons enregistrements de la table client :

C'est CETTE requête qui va servir de base à notre état avec assistant étiquettes. Fermez-là, et appelez-là par exemple R_ClientCartePostale.

Et maintenant, tout devient simple, créez un nouvel état avec assistant étiquettes, en utilisant les étiquettes que vous voulez : Vous pouvez par exemple reprendre le modèle d'étiquette "Etiquettes trouvées dans un tiroir", et, surtout, vous ne basez pas la requête sur T_Client, mais bien sur R_ClientCartePostale.

Voici à peu près l'apparence de l'étiquette prototype :. Vous constatez qu'à aucun moment on ne met le champ CartePostale, car en effet, ce cham n'avait d'utilité que dans la requête, il n'a rien à faire. ici.

Lorsqu'il vous demande un nom d'état, pour la dernière étape, écrivez E_ClientCartePostale, comme ça, on sait qu'il se base sur la requête qui est presque du même nom.

Et voilà ! L'exercice est terminé, voici vos étiquettes concernant seulement certains personnes de votre carnet d'adresse que vous avez sélectionné simplement en cliquant sur leur champ CartePostale :

Ce sont effectivement les 4 personnes que j'avais sélectionné.

Voilà. Il n'y a plus qu'à imprimer. Et comme c'est totalement dynamique, je n'aurai plus du tout à refaire toutes ces étapes lors de mes prochaines vacances : En effet, la prochaine fois, j'aurai simplement à aller dans la table T_Client, et à modifier mes coches : Ce sera un jeu d'enfant ! Ensuite ? Eh bien je n'aurai plus qu'à lancer l'état E_ClientCartePostale, qui sera actualisé, puisqu'il se base sur la requête E_ClientCartePostale, elle-même basée sur T_Client... Voyez comme c'est sympathique ? Avec Access, on a une seule fois le travail de base de conception à réaliser, et ensuite on réutilise à loisir ce qu'on a créé ! Que de temps ainsi économisé.

Félicitations ! Vous venez de créer votre première application Access. Une application modeste, mais une application quand même, puisque vous avez utilisé un peu tous les objets sauf les formulaires qui n'éataient pas utiles dans ce cas.

Téléchargez la solution ici | Revenez à l'énoncé de l'exercice ici