ADODC et msHflexgrid

Brosske Messages postés 98 Date d'inscription jeudi 25 novembre 2004 Statut Membre Dernière intervention 12 août 2010 - 12 sept. 2007 à 16:50
Brosske Messages postés 98 Date d'inscription jeudi 25 novembre 2004 Statut Membre Dernière intervention 12 août 2010 - 12 sept. 2007 à 17:41
Voila j'ai une question vous les pros des ADO et le fameux MSHFlexgrid (j'utilise le H car le simple ne sait pas allouer assez de mémoire pour afficher le tout).

Situation de départ:
Une énorme base de données dans le style suivant (j'ai simplifié) :

date | heure | AnalyseID | Valeur
--------------------------------------------
d1   | h1    | Ana1      | 10
d1   | h1    | Ana2      | 20
d1   | h1    | Ana3      | 30
d1   | h1    | Ana4      | 40
...  | ...   | Ana...    | ...
d1   | h2    | Ana1      | 11
d1   | h2    | Ana2      | 12
d1   | h2    | Ana3      | 13
d1   | h2    | Ana4      | 14
...
etc.

Petite spécification : l'array est remplit, ce qui veut dire que pour chaque date et heure il esiste une valeur pour chaque analyse.

Je voudrais afficher ça directement dans mon mshflexgrid dans un format comme ça (quit a cacher des colonnes) :
date | heure | Ana1 | Ana2 | Ana3 | Ana4 |
--------------------------------------------
d1   | h1    | 10   | 20   | 30   | 40   |
d1   | h2    | 11   | 12   | 13   | 14   |

Comment faire ?????

2 réponses

Brosske Messages postés 98 Date d'inscription jeudi 25 novembre 2004 Statut Membre Dernière intervention 12 août 2010 1
12 sept. 2007 à 17:18
Actuellement je vais manuellement créer un boucle qui remplit le grid en cherchent les places à injecter les données, mais il va de soi que si j'arrive a créer une requete SQL qui permets d'injecter les données directement que le gain de vitesse sera ENORME.

F.M.
0
Brosske Messages postés 98 Date d'inscription jeudi 25 novembre 2004 Statut Membre Dernière intervention 12 août 2010 1
12 sept. 2007 à 17:41
Bon, par hasard je suis tombé sur la formule suivante qui peut régler l'affaire :

TRANSFORM Last(Valeur) AS Valeur
SELECT Date, Heure FROM Mesures GROUP BY Date, Heure ORDER BY Date, Heure
PIVOT AnalyseID;

OK :)

MAIS comme j'ai simplifié la table dans l'exemple, dans chaque record il y a aussi des propriétés ex. la couleur de la celulle, bold, italic. Comment les intégrer ?

F.M.
0
Rejoignez-nous