Sommaire
- Rappel de l'assistant état semi personnalisé
- Création de deux groupes à l'aide de l'assistant
- Problèmes de groupement inhérents aux champs laissés vides
- Les groupes dans les états permettent de débusquer des erreurs de saisie
- Problèmes de présentation de groupes : La non répétition des titres de groupe sème la confusion
- Précision sur les groupes : Les groupes logiquement inexistants ne sont pas représentés
- Problèmes de présentation liés aux groupes qui contiennent très peu de données
Rappel de l'assistant état semi personnalisé
Nous allons commencer par créer un état composé de deux niveaux de regroupement : demandez un état Nouveau, Assistant état, basé sur T_Celebrite

Création de deux groupes à l'aide de l'assistant
Ici, vous constatez qu'Access tente de vous imposer un regroupement sur le Pays d'origine :


Pourquoi PaysOrigine est-il écrit en gras ?
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.Qu'est ce que ça va faire de spécial d'avoir deux niveaux de regroupement ?
Vous vous rappelez du regroupement que nous avons fait sur les titres à la leçon 44 ?Oui, ça groupait et triait sur les titres : d'abord toutes les Mademoiselle, toutes les Madame et tous les Monsieur.
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..
Let's go !
Vous en êtes donc ici :




Si j'ai bien compris, c'est comme l'explication plus haut, ou vous avez dit que lorsqu'il y a d'abord un regroupement sur Domaine et ensuite sur Pays d'origine : tout à l'heure, on groupait d'abord tous les domaines, et pour un domaine, on avait un sous groupe avec tous les pays, tandis que si on échange les champs de place (On transforme en
), on aura alors un groupe principal "Pays", et par exemple, quand on sera dans le pays "France", on aura, groupe par groupe, tous les domaines, et les gens qui font partie de chaque domaine (Affaire, Chanson, sport, etc.) ?!
Exactement.
Mais alors, je pourrais avoir un groupe, un sous groupe, un sous-sous-groupe, un sous-sous-sous-groupe, etc, à l'infini, comme ceci si je voulais : 
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)
Pas évident effectivement... Pas facile à lire ni à comprendre... On va peut-être reprendre l'exemple que nous avons commencé avec juste le Pays et le Domaine...
OK. Vous avec donc ces deux groupes, comme ceci :





Problèmes de groupement inhérents aux champs laissés vides
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 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.
Les groupes dans les états permettent de débusquer des erreurs de saisie
Mais il fait de la chanson, pas du cinéma !
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").On ne peut pas le faire apparaître dans les deux rubriques à la fois (Cinéma et Chanson) ?
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.Comme vous l'avez toujours souligné, les tables doivent être absolument impeccables au niveau de la création des champs, et au niveau de la saisie (ça nous l'avons vu à la leçon d'avant), autrement, effectivement, comme je vois, ça allait bien jusque là, et tout à coups, lors de la conception d'état, ça coince...
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)Problèmes de présentation de groupes : La non répétition des titres de groupe sème la confusion
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 :
On ne peut pas les répéter sur cette page, les titres ?
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 (

Effectivement, il les a mis par ordre alphabétique !
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.Précision sur les groupes : Les groupes logiquement inexistants ne sont pas représentés
Et je constate qu'il ne met que le nécessaire. Par exemple, je reprend la première page, je regarde la Belgique, et comme pour la Belgique il n'a trouvé que des personnes qui font du sport ou du cinéma, il n'a pas créé de groupes tous vides avec les autres domaines : Il n'y a pas de belges qui sont dans le domaine Affaire, Chanson ou Politique, donc il ne crée pas ces groupes. C'est génial !
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...
Ah bon ? On ne pourrait 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 :

Problèmes de présentation liés aux groupes qui contiennent très peu de données
Mais de quel pays provient tout ce beau monde ?
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 :

Il fat quoi, Dave, tout seul en haut ???
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 un sacré problème ! Au premier regard, moi, j'avais trouvé génial cette histoire de groupes, mais à y regarder de plus près, y'a vraiment des sérieuses lacunes !
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
Et on le sauvegarde sous ? ...
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 :
Bon... Hem... On peut résumer ?
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.. |
Avez-vous bien compris ?
|
Exercice
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) :
|
0 commentaires:
Enregistrer un commentaire