Requête SQL multiples

Signaler
Messages postés
77
Date d'inscription
mardi 17 novembre 2009
Statut
Membre
Dernière intervention
18 août 2015
-
Messages postés
9
Date d'inscription
mercredi 3 mars 2010
Statut
Membre
Dernière intervention
25 novembre 2010
-
Bonjour tout le monde,

Voilà j'ai un problème depuis quelques jours, je n'arrive pas à trouver la bonne syntaxe (delphi)

J'aimerais lorsque la deuxième requête se lance que ce soit par rapport aux données affichées dans la première. C'est-à-dire par exemple que pour la designation de la pièce il me sorte sont numéro de famille.

while not Q1.Eof do begin

nombre := nombre +1;

Stringgrid1.cells[0,nombre - 1] :=Q1.fieldbyname('designation').asstring;
Stringgrid1.cells[1,nombre - 1] :=Q1.fieldbyname('nofacture').asstring;
Q1.Next;
end;
Q1.Free;

nombre := 2;
//Q1 := (Famille, MOntant)

while not Q2.Eof do begin

nombre := nombre +1;

Stringgrid1.cells[nombre - 1,0] :=Q2.fieldbyname('nofamille').asstring;
Stringgrid1.cells[nombre - 1,1] :=Q2.fieldbyname('libelle').asstring;

Q2.Next;
end;
Q2.Free;

Jespère avoir été assez claire :s

Merci d'avance !

6 réponses

Messages postés
77
Date d'inscription
mardi 17 novembre 2009
Statut
Membre
Dernière intervention
18 août 2015

up !
Messages postés
77
Date d'inscription
mardi 17 novembre 2009
Statut
Membre
Dernière intervention
18 août 2015

Bon personne n'a de réponse ?!
Messages postés
637
Date d'inscription
mardi 22 avril 2003
Statut
Membre
Dernière intervention
9 janvier 2017

Avec ADOQuery il est possible de faire des tri

SELECT [NOM] [N°] TABLE NOM LIKE %NOMX% AND n° LIKE %NUMY%


BON COURAGE

yvessimon
Messages postés
4720
Date d'inscription
dimanche 26 février 2006
Statut
Modérateur
Dernière intervention
31 juillet 2021
14
Bonjour,

Il y à boire et à manger dans ton fourbi...
Merci d'utiliser les balises de code et de poser une seule question à la fois.

cantador
Messages postés
9
Date d'inscription
mercredi 3 mars 2010
Statut
Membre
Dernière intervention
25 novembre 2010

Slt!

With Adoquery1 Do
Begin
Stringgrid1.cells[0,nombre - 1] :=Q1.fieldbyname('designation').asstring;
Stringgrid1.cells[1,nombre - 1] :=Q1.fieldbyname('nofacture').asstring;
End;//DBGR

With Adoquery2 do
begin
close;
sql.Clear;
sql.Add('SELECT * FROM table1 WHERE client='''+client.Text+'''');
sql.Add('ORDER BY id DESC');
open;
end;//ado
Messages postés
9
Date d'inscription
mercredi 3 mars 2010
Statut
Membre
Dernière intervention
25 novembre 2010

Slt!

Tu peux faire une requête comme celle-ci, moi j'utilise pour une essaie le Dbgrid, il suffut de changer le en stringgrid. Comme tu déjé fait; et pour faciliter la vie je récupere dans edit la valeur de champ client. à chaque fois que je clic dans le dbgrid1, il renvoie la valeur puis faire une requête à afficher le résultat dans dbgrid2 ( Ado1 associé DBGRID1 et ado2 associé à DBGRI2)

procedure TFPLANING.DBGrid1.CellClick(Column: TColumn);
begin
With adoquery1 Do
Begin
Edit1.Text:=fieldbyname('client').AsString ;
End;//DBGR

With adoquery2 do
begin
close;
sql.Clear;
sql.Add('SELECT * FROM matable WHERE client='''+Edit1.Text+'''');
sql.Add('ORDER BY id DESC');
open;
end;//ado
end;