HELP!!! Stringgrid et requete, comment prendre une valeurs à une d'un champs?

cs_Gokuan Messages postés 51 Date d'inscription jeudi 23 mai 2002 Statut Membre Dernière intervention 17 novembre 2008 - 10 mars 2005 à 09:33
nyrsitraka10 Messages postés 9 Date d'inscription mercredi 3 mars 2010 Statut Membre Dernière intervention 25 novembre 2010 - 19 juin 2010 à 13:00
Hello, alors après qu'on m'est aidé, à qui d'ailleurs je remercie du fond du coeur, mais je suis toujours bloqué lol... ceux qui m'on aidé vont se rappellé de mon problème de requête. Alors mtn c'est fait, ça marche, mais je par exemple dans la table XXX je voudrai que mon stringgrid affiche sur chaque ligne une des valeurs du champs qui est dans la base.

procedure TForm1.Button1Click(Sender: TObject);
var j : integer;
begin
SQLQuery1.Close;
SQLQuery1.SQL.Clear;
SQLQuery1.SQL.Add('SELECT CodeArticleFour AS Codefour FROM articlesliaisonfour WHERE NoFournisseur=230');
SQLQuery1.Open;
SQLQuery1.First;
for j:=0 to 1203 do
Stringgrid2.Cells[0,j+1]:=SQLQuery1.fieldbyname('Codefour').AsString;
end;

J'utilise une boucle pour rentré sur chaque ligne une valeurs, mais la question, est comment faire pour que lors de la requête il ne prenne qu'un résultat et passe au suivant après, pour le moment comme ça, me prends toujours le même...

Merci d'avance

8 réponses

jmp77 Messages postés 1119 Date d'inscription lundi 4 février 2002 Statut Membre Dernière intervention 4 octobre 2006 7
10 mars 2005 à 10:45
Hello,



Question bete pourquoi tu n'utilises pas une dbgrid au lieu d'une stringrid pour afficher ta table?

Bonne prog,
JMP77.

N'oubliez pas de cliquer sur réponse acceptée.
0
cs_Gokuan Messages postés 51 Date d'inscription jeudi 23 mai 2002 Statut Membre Dernière intervention 17 novembre 2008
10 mars 2005 à 11:33
Hello, simplement parce que j'ai essayé de l'utilisé, mais je sais pas comment faire, pour l'utilisé... donc si qqun pourrait m'éclaircir ça serait gentil, je bloque là dessus depuis un moment... Alors voilà, ou me montré la réponse en l'expliquant, ça serait sympa. Merci beaucoup, c important.
0
jmp77 Messages postés 1119 Date d'inscription lundi 4 février 2002 Statut Membre Dernière intervention 4 octobre 2006 7
10 mars 2005 à 11:37
Alors quel type de base utilises tu et avec quels compos tu te connectes dessus?

Bonne prog,
JMP77.

N'oubliez pas de cliquer sur réponse acceptée.
0
cs_Gokuan Messages postés 51 Date d'inscription jeudi 23 mai 2002 Statut Membre Dernière intervention 17 novembre 2008
10 mars 2005 à 12:15
Re hello lol

Alors moi j'utilise une base MYSQL. Et comme composant pour me connecter, j'utilise dbexpress en l'occurence, TSQLconnection.

si t'as besoins de plus d'info, je te les donnes.

merci d'avance
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Gokuan Messages postés 51 Date d'inscription jeudi 23 mai 2002 Statut Membre Dernière intervention 17 novembre 2008
11 mars 2005 à 09:22
lol, je comprends rien
0
WinLin Messages postés 86 Date d'inscription dimanche 13 février 2005 Statut Membre Dernière intervention 3 septembre 2007
13 mars 2005 à 17:42
pour que tu puisse remplire une stringgrid tu ecrit une boucle pour remplire horizontalement
et une autre boucle pour remplir le tableau verticalement

voici quelque ligne de code pour te donnée une idée

************************************************************************
begin
// remplissage de la stringgrid de la form
// voici les noms des colonnes
xcpteur:=1;
stringgrid1.Cells[1,0]:='Serie';
stringgrid1.Cells[2,0]:='Description';
stringgrid1.Cells[3,0]:='Taille';
stringgrid1.Cells[4,0]:='Emplacement';
stringgrid1.Cells[5,0]:='Quantite';
stringgrid1.Cells[6,0]:='Prix';
// teste interne a mon code
if FileExists('L:\Gestion-stock\data-fic\LISTTEMP.TMP') then
begin
assignFile(fictemp,'L:\Gestion-stock\data-fic\LISTTEMP.TMP');
reset(fictemp);
// boucle pour remplir la stringgrid


while (not eof (fictemp)) do
begin
read(fictemp,listtmp);
stringgrid1.Cells[1,xcpteur]:=listtmp.serie;
stringgrid1.Cells[2,xcpteur]:=listtmp.description;
stringgrid1.Cells[3,xcpteur]:=listtmp.taille;
stringgrid1.Cells[4,xcpteur]:=listtmp.emplacement;
stringgrid1.Cells[5,xcpteur]:=listtmp.qt;
stringgrid1.Cells[6,xcpteur]:=listtmp.prix;
// ajouter une ligne au tableau
xcpteur:=xcpteur+1;
stringgrid1.RowCount:=xcpteur;
end;
closefile(fictemp);
end;

end;
0
WinLin Messages postés 86 Date d'inscription dimanche 13 février 2005 Statut Membre Dernière intervention 3 septembre 2007
13 mars 2005 à 17:44
heu non je me suis trompe desoler juste une boucle avec un compteur
pour remplisr ligne par ligne et tu incremente un compteur pour avancer dans ton tableau
0
nyrsitraka10 Messages postés 9 Date d'inscription mercredi 3 mars 2010 Statut Membre Dernière intervention 25 novembre 2010
19 juin 2010 à 13:00
Voici un exemple de code, en principe il faut parcourrir les enregistrements, après il suffit d'afficher les résultats.

procedure TForm1.FormCreate(Sender: TObject);
var i: integer;
begin
With ADOQuery1 Do
Begin
close;
sql.clear;
sql.add('SELECT * FROM table');
open;
i:=1;
if recordcount>0 then begin
While not EOF Do
Begin
StringGrid1.Cells[1, i]:=fieldbyname('id').AsString ;
inc(i);
next;
end;
First;
end;
End;
end;
0
Rejoignez-nous