Salut ; j'ai cherché un tuto sur l'affectation du résultat d'une requête vers un stringgrid mais j'ai rien trouvé!!!!!
si quelqu'un a un lien ou un exemple je suis preneur. merci![]()
Salut ; j'ai cherché un tuto sur l'affectation du résultat d'une requête vers un stringgrid mais j'ai rien trouvé!!!!!
si quelqu'un a un lien ou un exemple je suis preneur. merci![]()
Bonjour,
il faudrait en dire un peu plus, car là je ne vois pas de difficulté.
y a t il plusieurs lignes de résultat, y a t il plusieurs colonnes ?
Où est le problème exactement ?
Car faire apparaître une valeur, dans une cellule, c'est la b, a BA de l'utilisation d'un TstringGrid.
Soit tu affectes le DataSource de ta requête à un DBGrid (et c'est tout ! reste plus qu'à régler l'aspect visuel : taille des cellules, couleur, ....)
Soit tu utilises un StringGrid, et là il te faut 2 boucles imbriquées pour remplir les cellules "à la main". Par exemple :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 // code non vérifié MaQuery.DataSet.FindFirst; With MonSgringGrid do begin While Not MaQuery.DataSet.Eof do begin j := 0; // ou 1 si tu as mis des entêtes for i := 0 to MaQuery.DataSet.FieldCount-1 do cells[i, j] := MaQuery.Fields.DataSet.Fields.Fields[i].AsInteger; // si tu as des champs de différents types, il faut remplacer cette boucle par une liste des cells[i,j] .... MaQuery.Fields.DataSet.Next; inc(j); end; end;
salut ;@ castor
toujours sous [D7 + access 2003]
1) j'ai jamais travaillé avec un tstringgrid ,
2) je doit le formater selon un tableau spécifique ou un canevas,
3) comment affecté les valeurs d'un query selon le nom des cellules?
exemple:
format du tableau:
Option ! T1 ! T2 ! T3 ! T4 !
A ! 30 ! 00 ! 50 ! 00!
B ! 00 ! 01 ! 00 ! 00 !
explication :
si le query contient le champ T1 avec une valeur quelconque , je doit la mettre dans le T1 du stringgrid ainsi de suite ,
les valeurs 00 dans le stringgrid correspond aux champs non trouvé dans le query .
merci pour l'aide
y'as certains tableaux quand en peut pas les réalisés par des requêtes, donc faut les dessinés ensuite affectés les données du Adoquery , là je me demande est ce que le choix de tstringgrid est le bon choix ?
Slt ; [D7 + access]
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 ............. cells[i, j] := MaQuery.Fields.DataSet.Fields.Fields[i].AsInteger; // sa bloque ici message d 'erreur ...............![]()
Peut-être parce que la propriété TStringGrid.cells est de type string et non integer !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 // essaie plutôt cells[i, j] := MaQuery.Fields.DataSet.Fields.Fields[i].AsString;![]()
Bonjour,
oui la question est un peu plus claire
Je confirme dans un premier temps pour l'affectation de l'integer via asstring, comme te le dit Archonte.
Pour les autres, il faut que tu charches dans ta première ligne le nom du champ, en supposant que tu les connaisses tous d'avance et que cette première ligne soit remplie.
Une fois l'id de la colonne trouvée, il te faut trouver la ligne, ce que tu indiques par B, mais que tu ne précises pas plus.
S'il s'agit juste de la ligne suivant ton dernier insert, il faut que tu le stocke où mieux que tu trouves un moyen pour aller chercher la ligne suivante vide. Par exemple en ne créant de ligne supplémentaires que lorsque nécessaire.
Une fois ton id colonne et ton id ligne tu n'as plus, comme tu le montres ci-dessus, à remplir ta colonne via cell[C,L]:= monchamp.asstring;
Attention, un TTstringgrid ne peut pas contenir 95 millions de lignes...
Partager