Temps nécessaire pour suivre cette leçon : Entre une demie heure et trois 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 simplement voir comment faire pour établir non pas un seul groupe, mais un groupe ET un sous groupe. Vous allez vous rendre compte qu'on peut ainsi morceller les tables en groupes, sous-groupes, sous-sous-groupes, etc.à l'aide de l'assistant état. |
Nous allons commencer par créer un état composé de deux niveaux de regroupement : demandez un état Nouveau, Assistant état, basé sur T_Celebrite
, cliquez sur OK.
A cet écran, demandez le prénom, le nom, le domaine et le pays d'origine : . Cliquez sur Suivant.
Ici, vous constatez qu'Access tente de vous imposer un regroupement sur le Pays d'origine : . Heureusement, vous pouvez vous en débarasser simplement en cliquant sur le bouton <: . En fait, nous allons demander deux niveaux de regroupement : Placez à droite le Domaine et le Pays d'origine :
C'est simplement celui qui est sélectionné. Cliquez sur Domaine, et c'est lui qui devient gras. Nous allons voir plus bas à quoi ça sert de sélectionner l'un ou l'autre.
Vous vous rappelez du regroupement que nous avons fait sur les titres à la leçon 44 ?
Exactement. Alors, quand il y a plusieurs niveaux de regroupement (ici : deux), ça va faire comme ça : comme on a un regroupement d'abord sur Domaine et ensuite sur Pays d'origine, l'assistant va regrouper de toute façon les gens par domaine, ça, c'est clair, c'est comme les titres. Mais ce qui va changer, c'est que pour chaque domaine, il va nous créer un sous groupe par pays : par exemple, il va commencer à nous afficher tous les gens du domaine "Affaire" (Parce que c'est le premier domaine : Il commence par "A"), et dans les "Affaire", Bill Gates apparaître, avec Alfred Sirven, Napoléon Bonaparte et Bernard Tapie.
Mais parmi ces gens, Bill Gates provient des Etats Unis, et les 3 autres sont issus de France,. Il va donc y avoir à initérieur du groupe Affaire, 2 sous groupes : un sous groupe "Etats-Unis" avec dedans une seule personne : Bill Gates, et, dans le 2ème groupe (France), il y aura Alfred Sirven, Napoléon Bonaparte et Bernard Tapie.
On recommence ensuite avec le 2ème groupe "Domaine" : ce sera la "Chanson", et là, nous aurons des gens du Canada, des Etats-Unis, de France, etc, alors, il y aura un sous-groupe de gens qui font de la "Chanson" pour chaque "Pays d'origine".
Expliqué théoriquement comme ça, c'est trop compliqué, vous comprendrez vraiment mieux quand nous aurons terminé cet état..
Vous en êtes donc ici : . Vous avez donc deux groupes : D'abord le groupe des domaines, et ensuite, le groupe des pays. Mais en fait, en cliquant sur ces icones , on a la possibilité de mettre d'abord PaysOrigine et ensuite Domaine, cliquez sur PaysOrigine , et cliquez sur : Les deux niveaux de titre se sont maintenant échangés :
Exactement.
Vous pourriez... tant que vous n'essayez pas de faire des groupes avec des champs assez uniques comme le Nom, par exemple, ce qui ne créerait pas d'erreur, mais qui serait vraiment inutile. Bon dans le cas d'une assez petite table comme la nôtre, avoir autant de niveaux de groupes ne donnera pas un résultat terriblement lisble, parce que il s'agira de très très petits goupes... (De plus, le champ décédé s'afficherait sous la forme de -1 ou 0, ce qui n'arrange pas la lisibilité. Vous vous souvenez pourquoi -1 ou 0 ? C'était dans la leçon 9)
OK. Vous avec donc ces deux groupes, comme ceci : . Cliquez sur Suivant : Triez simplement par NomClient, histoire de les avoir dans chaque groupe par ordre alphabétique : . Cliquez sur Suivant. Demandez Contour 1 : . Cliquez sur Suivant. Demandez Gras : , cliquez sur Suivant. Appelez votre état E_CelebriteGroupePaysDomaine : , et comme il n'y a plus de bouton Suivant, cliquez sur Terminer : (Les ractangles de couleurs et les numéros de 1 à 5 sont là pour une explication au bas de l'état)
Sur cette première page, nous avons les pays suivants : Rien, Allemagne, Belgique, Canada et ... La première partie de l'Espagne (parce qu'on arrive en base de la page physiquement...) Cette première page est même un peu particulière, car à y regarder de plus près, on constate que chaque groupe n'est constitué que d'une seule personne... Notre table T_Celebrite n'étant pas énorme, c'est donc tout à fait normal.
Prenons le cadre bleu, numéro 1 : C'est le groupe complet des gens qui ont pour pays d'origine ... Rien ! On les a laissés vides... Regardez, voici un extrait de la table avec tous les gens qui habitent nulle part : , et comme vous le constatez, ce sont justement ceux qui aparaissent dans le premier groupe de notre état : Jennifer Lopez, Johnny Weissmuller, Albert Einstein et Ayrton Senna.
Et donc, nous avons (comme prévu) un sous groupe des Domaines, avec chaque fois les gens qui en font partie : comme vous le constatez, dans la liste des gens qui ont pour pays d'origine Rien, il n'y en a pas deux qui ont le même domaine d'activité : Jennifer Lopez = Chanson, Johnny Weissmuller = Cinéma, Albert Einstein = Non spécifié et Ayrton Senna = Sport. Si lors de la leçon précédente, nous avions décidé de laisser en blanc les gens qui n'ont pas de domaine à la place d'écrire en toute lettre "Non spécifié", alors, dans la partie que j'ai peint en bleu, il n'y aurait qu'une zone blanche toute vide précédée du mot Domaine, comme ceci :
Le rectangle rouge (2) est la liste de tous les gens originaires de Belgique (Nous n'en avons que deux : Jacques Brel et Eddy Merckx : ).
J'ai peint et encadré en gris Jacques Brel, pour mettre en évidence la hiérarchie : Belgique, Cinéma, et enfin, Jacques Brel.
C'est juste, et lors du nettoyage des tables à la leçon précédente, ça nous avait échappé, mais cette fois, l'état nous l'a mis en évidence. Drôlement efficace, non ? Ceci dit, Jacques Brel aaussi fait du cinéma (Il a notamment joué avec Lino Ventura, dans le film "L'emmerdeur").
En tout cas pas dans l'état actuel des choses. Lorsque nous avons conçu notre table, l'énoncé était clair et net : un seul domaine par personne ! Si on avait voulu mettre un 2ème domaine, nous aurions dû prévoir un champ "Domaine2" pour sélectionner pour une même personne un 2ème domaine, mais ce n'est pas le cas ici, et des doubles domaines sont finalement assez rares. Donc, nous allons continuer comme ça.
Oui. Un peu plus bas au rectangle vert (N° 3), là nous constatons qu'il n'y a qu'une seule personne d'un seul groupe : Céline Dion est à elle toute seule un groupe (Pays : Canada),et un sous groupe (Domaine : Chanson)
Et en dessous (Rectangle jaune N°4), c'est le début du goupe Espagne. C'est vraiment une présentation à deux balles, parce que nous avons ici bien tous les titres (PaysOrigine : Espagne, Domaine : Non-spécifié, et même le titre Nom et Prénom), et c'est seulement en haut de la 2ème page qu'on commence à voir la liste des gens d'Espagne :
Voici donc la liste des gens originaires d'Espagne (Rectangle jaune N° 1). Il n'y a plus de titres, puisqu'ils étaient en bas de la page précédente
Si, il y a toute une série d'astuces de mise en page que nous verrons ultérieurement. Pour l'instant contentons-nous de comprendre comment les groupes des états fonctionnent.
Vous avez donc les deux espagnols Pablo Picasso (Domaine non-spécifié, mais on ne le voit pas, c'éest en dessous de la page précédente) et Miguel Indurain (Sport)
En dessous, dans le rectangle bleu, il y a les Etats-Unis. Ce groupe est nettement plus intéressant, puisque nous avons enfin des sous groupes domaines qui contiennent plus d'une personne. Dans les "Affaire", il y a juste Bill Gates, mais en chanson il y a déjà 2 personnes : Jim Morisson et Britney Spears. Concernant le cinéma, là, il y en a une quantité ! Au moins 18 personnes (de Woody Allen à Bruce Willis). Je dis au moins, car rien ne me prouve qu'il a assez eu de place pour les afficher tous. Si ça se trouve, il y en a d'autres encore sur la page suivante. Nous verrons ça plus tard. C'est ici que nous voyons l'utilité d'un tri croissant par nom dans l'assistant ()
Et les groupes aussi. Si vous avez remarqué, vous avez comme pays : Rien, Allemagne, Belgique, Espagne, etc. Et pour chaque pays, les domaines sont également triés. Prenons par exemple les Etats Unis qui contiennent beaucoup de monde : Affaire, Chanson, Cinéma, Non-spécifié, Politique et Sport.
C'est très sympathique de la part d'Access.
Quelque part, c'est aussi assez logique... Et si vous vouliez quand même voir les groupes vides parce que ça vous serait utile pour une raison ou l'autre, vous ne pourriez pas...
Non, pas facilement comme ça en tout cas. Nous y reviendrons quand ce sera nécessaire. Ne compliquons pas.
A la page suivante (la 3ème), Je n'ai pas grand chose à dire, si ce n'est que nous avons eu la chance de pouvoir afficher toute la liste des gens qui sont des Etats-Unis qui font du cinéma dans la page précédente, et dans cette 3ème page, nous avons simplement plus de grands groupes, mais cette fois, quand on regarde la grande liste des "Chanson" du pays "France", la liste est encore plus grande que les "Cinéma" "Etats-Unis", et cette fois la liste se termine malheureusement sur la page suivante.
La 4ème page continue dans le même élan... La voici :
Elle ne se compose que de très grands groupes : la fin de Chanson, tout le groupe Cinéma et le début de Non-spécifié
Justement, c'est bien là le problème : Ce sont de tellement grands groupes que le nom du pays a carrément disparu. Il est pourtant bien écrit, mais dans la page précédente (C'est la France en fait, mais vous l'avez sans doute deviné !). C'est pourquoi, ce ne sera pas du luxe dans les prochaines leçons, que de regarder comment personnaliser cet affichage qui est, osons le dire, un peu concon...
Après tout, un état est destiné à la présentation des tables et des requêtes pas excellence, on peut se permettre d'être pointilleux !
Passons enfin à la dernière page pour voir comment tout ceci finit :
C'est simplement la seule et unique personne des "Pays-Bas", en "Chanson", mais c'est en dessous de la page précédente que ses titres sont affichés ()
C'est toujours dans ce genre de cas un peu particuliers qu'on constate les faiblesses d'un système.
On va s'arrêter ici pour cette leçon. Fermez votre état
Sous rien du tout il s'est enregistré tout seul dès que vous lui avez donné un nom tout à l'heure dans l'assistant :
Les états sont la manière la plus effcicace d'obtenir une présentation synthétique/esthétique de vos données. L'un des points forts des états est de permettre l'affichage des données par groupe (Nous en avons vu une partie lors de la leçon 44). Ensuite, à la leçon 45, nous avons nettoyé T_Celebrite afin d'éviter d'avoir des états un peu bizarres. Maintenant que cette table a été nettoyée de fond en comble, nous avons pu dans cette leçon créer un état avec non pas un seul groupe, mais deux : Le groupe principal : PaysOrigine, et un sous groupe : Domaine. Malgré tout le soin apporté à la table, et l'utilisation correcte de l'assistant état, nous avons constaté certaines particularités/anomalies, notamment certains groupes qui ne contiennent qu'une seule personne (La notion de groupe devient alors un peu galvaudée), et d'autres groupes tellement grands qu'ils ne tiennent même pas sur une page, et enfin certains groupes scindés au niveau des titres (Le titre du pays et/ou du domaine est en bas d'une page, et les personnes commencent à la page suivante), ne manquant pas de créer une certaine confusion.. |
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 3 états avec assistant au sein de votre base de données habituelle (Je vous laisse le soin de choisir la présentation que vous désirez. Ne demandez pas de tri) :
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