Bonjour,
Cette source propose de montrer l'aspect hierarchique du contrôle MSHFLEXGRID. D'après son nom, je me doutais bien qu'on pouvait afficher des données de manière hierarchique sans vraiment savoir comment. Et pour une fois VBFrance ne me l'a pas appris (à moins que j'ai mal cherché ...).
La solution est d'utiliser un RecordSet Hierarchique obtenu via ADO par l'exécution d'un requête SHAPE.
Cette requête a pour syntaxe :
SHAPE {parent-statement}
APPEND Aggregate
| ({child-statement} [As Alias]
RELATE parent-field TO child-field | parameter-marker
[, parent-field TO child-field | parameter-marker ...])
[, Aggregate | ({child statement})...]
SHAPE {non-normalized-statement} [AS Alias]
COMPUTE Aggregate
| Alias
| ({child-statement} [As Alias] RELATE parent-field TO
child-field | parameter-marker)
[, Aggregate | Alias | ({child-statement}...)]
[BY grouping-field [, grouping-field]]
SHAPE {non-normalized-statement} [AS Alias]
BY grouping-field [, grouping-field]
Pour l'exemple, j'ai choisi de lister les différents niveaux d'une région en France. Etant limité pour le ZIP, je n'en ai gardé qu'une (PACA)
Nous allons avoir comme hierarchie :
Région
---Départements
-----Arrondissements
---------Cantons
------------Communes
Pour chaque commune, nous avons le nombre d'habitants. Nous allons utiliser les fonctions d'agrégation de ADO SHAPE pour avoir le nombre d'habitant à chaque niveau.