Requêtes shape avec mshflexgrid

Soyez le premier à donner votre avis sur cette source.

Vue 8 354 fois - Téléchargée 1 768 fois

Description

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.

Conclusion :


Cette source n'a pas la prétention de couvrir l'ensemble des nombreuses et assez compliquées fonctions de ADO SHAPE. Je vous suggère l'article MSDN pour appronfondir : http://support.microsoft.com/kb/189657/fr (manifique traduction automatique ^^)

N'hésitez pas à commenter et enrichir cette brève présentation de ADO SHAPE.

++
Moustachu

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

Messages postés
35
Date d'inscription
vendredi 18 mai 2007
Statut
Membre
Dernière intervention
5 janvier 2008

Merci moustachu, j'ai une idée maintenant.


@+ Bon progrès
Messages postés
1079
Date d'inscription
jeudi 14 novembre 2002
Statut
Membre
Dernière intervention
1 janvier 2012

waluigii>Le but du code est d'utiliser l'aspect hierarchique du controle MSHFLEXGRID. Pour cela, on a besoin d'un recordset hierarchique qui se construit, ici, a l'aide des commandes ADO SHAPE. Comme exemple de hierarchie j'ai choisi les différents niveau d'une région française.

++
Moustachu
Messages postés
35
Date d'inscription
vendredi 18 mai 2007
Statut
Membre
Dernière intervention
5 janvier 2008

Salut,

Je sais pas si ta phrase est mal construite ou pas mais j'ai du mal à comprendre le but de ton programme. Du à cet effet, point de vu du code je ne peux pas mettre de commentaire à ce momemnt. À la prochaine Le Moustachu!

@+
Messages postés
1079
Date d'inscription
jeudi 14 novembre 2002
Statut
Membre
Dernière intervention
1 janvier 2012

Bonjour,

Tu as effectivement différentes manière d'afficher. La source était l'occasion de présenter les requêtes Shape et l'aspect hierarchique du MsHFlexGrid.

Si j'ai pris cette région, c'est p'tet que c'est la mienne aussi ^^

Merci pour ton commentaire.

++
Moustachu
Messages postés
940
Date d'inscription
jeudi 20 février 2003
Statut
Membre
Dernière intervention
3 février 2011
7
Pas mal le moustachu, sympa d'avoir pensé à nous. M'enfin, pour faire de la hiérarchie je préfère nettement les treeview, pas besoin de Shape et c'est quand même plus joli. Là c'est un peu moche (faut l'avouer :p), l'avantage cela dit c'est qu'on peut faire apparaitre plusieurs lignes d'un coup dans une branche par Word wrap = true, en plus tu as choisi ma région ^^
De plus, il me semble qu'on peut faire ça sans Shape, j'avais déjà vu un exemple ya longtemps sur un autre site de développeurs VB...

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.