TreeView avec requete, pb de paramètre
désolée de poser autant de questions en ce moment ... :oops: :oops:
j'ai un treeview, d'abord, il y a différents noeuds qui ne posent pas de pb
ensuite j'ai un niveau où sont les essais --> puis les pins --> puis les noms de fichiers
dans la base en gros c'est comme ça
pin(pin_seqno, pin_num)
essai(ess_seqno,ess_num)
pin_essai(ess_seqno, pin_seqno, nomfichier)
pin_num et ess_num ne sont pas clés mais sont uniques
donc en dernier je récupère nomfichier qui correspond à pin_num (noeud précédent) et à ess_num(noeud pré-précedent), grace à des jointures
je mets ma procédure:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| procedure GereTreeViewBddNoeud5(ess : string);
var NoeudParent : TTreeNode;
begin
showmessage(ess); [b]//ici trouve la bonne valeur[/b]
noeudParent := MainForm.TreeView1.selected;
MainForm.ADOQueryTVNoeud4.SQL.Clear;
MainForm.ADOQueryTVNoeud4.SQL.Add('SELECT Pin_Essai.piness_nomficbrut, Pin.pin_num, Essai.ess_num');
MainForm.ADOQueryTVNoeud4.SQL.Add(' FROM Pin INNER JOIN (Essai INNER JOIN Pin_Essai ON Essai.ess_seqno = Pin_Essai.ess_seqno) ON Pin.pin_seqno = Pin_Essai.pin_seqno');
MainForm.ADOQueryTVNoeud4.SQL.Add(' WHERE (((Pin.pin_num)='+QuotedStr(noeudParent.text)+') AND ((Essai.ess_num)='+ ess +'))');
MainForm.ADOQueryTVNoeud4.Open;
with MainForm.TreeView1 do
while not MainForm.ADOQueryTVNoeud4.Eof do
begin
Items.AddChild(noeudParent, MainForm.ADOQueryTVNoeud4.FieldByName('piness_nomficbrut').AsString); // Nil = nouveau noeud
MainForm.ADOQueryTVNoeud4.Next;
end;
end; |
dans le prog principal j'appelle comme ça : (sur click ds le treeView)
Code:
1 2
| if (treeView1.Selected.Level = 3) and (TreeView1.Selected.HasChildren = false) then
utreeview1.GereTreeViewBddNoeud5(mainform.TreeView1.Selected.Parent.Text); |
l'erreur c'est : Parameter ("là il me met la valeur que je passe en param : Ess") has not default value
et ds le treeView le nomfichier n'apparait pas
merci pour ceux qui auront le courage d'avoir lu ...