Bonjour
J'ai récupérer (sur ce forum) une procédure qui affiche les éléments d'une bdd dans un treeView
Avec certaines de mes requêtes, elle fonctionne, mais là j'ai une requête qui fait des jointures sur plusieurs tables et rien ne s'affiche dans le TreeView.(??)
J'ai testé la requêet seule, elle me renvoie bien des valeurs.
Donc je sais pas trop ....
je mets la procédure entière:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
procedure GereTreeView2SurBdd;
var temp_nom : string;
    newNode, ParentNode : TTreeNode;
 
begin
 
MainForm.ADOConnection1.Open;
 
MainForm.Query4.SQL.Clear;
 
MainForm.Query4.SQL.Add('SELECT BLineMAG.BlineMag, rel_pin_essai.fichier');
MainForm.Query4.SQL.Add(' FROM ((BLineMAG INNER JOIN Produit ON BLineMAG.BlineMag = Produit.BLineMAG)');
MainForm.Query4.SQL.Add(' INNER JOIN Essai ON Produit.NomProduit = Essai.NomProduit) INNER JOIN rel_pin_essai ON Essai.NumeroEssai = rel_pin_essai.NumeroEssai');
 
 
MainForm.Query4.Open;
 
 
with MainForm.TreeView1 do
   begin
   Items.Clear;
      if MainForm.Query4.Eof then
        begin
        Items.Add(nil, 'VIDE');
        end
else
  begin
  temp_nom := '';
    while not MainForm.Query4.Eof do
      begin
        if (MainForm.Query4.FieldByName('BLineMAG.BlineMag').AsString )<> temp_nom then
          begin
          temp_nom := MainForm.Query4.FieldByName('BLineMAG.BlineMag').AsString;
          newNode := Items.Add(Nil, temp_nom); 
          ParentNode := newNode; 
          newNode := Items.AddChild(ParentNode,MainForm.Query4.FieldByName('rel_pin_essai.fichier').AsString); 
          end
        else
          begin
          newNode := Items.AddChild(ParentNode,MainForm.Query4.FieldByName('rel_pin_essai.fichier').AsString);
          end;  
MainForm.Query4.Next;
    end;
FullExpand;
 
end;
end;
end;