Bonjour,

en faite j'utilise une BDD utilisant 2 tables. Une contenant les livres loués et l'autres les Utilisateurs qui loués.

Voici les champs des tables

TableLocation :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
Index (Numéros auto-incrémenté et unique)
Nom (Nom du livre loué)
Loué (Mis a 1 si le livre est Loué, mis à 0 si le livre est rendu)
Loueur (Représente l'Index du loueur situé dans l'autre table)
TableLoueur
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
Index (Numéros auto-incrémenté et unique)
Nom (Nom du loueur)
Adresse (Adresse du loueur)
J'aimerais bien mettre ces données dans un TreeView avec comme Noeud racine le nom du loueur et comme Noeud enfant les livres qu'il a loué style

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 
+Emile Dupont (Noeud racine)
       -> Nana (Noeud enfant)
       -> Le rouge et le noir
       -> Dartagnant
+Jacques Moulin
       -> Harry Potter
+Emile Drepes
       -> Le dernier juré
       -> Dan Brown
Réccupérer les infos je sais faire mais pas les ordonner dans un TreeView.
Voila ce qui s'affiche avec mon code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 
+Emile Dupont (Noeud racine)
       -> Nana (Noeud enfant)
+Jacques Moulin
       -> Harry Potter
+Jacques Moulin
       -> Dartagnant
+Emile Drepes
       -> Dan Brown
... etc ...
et le code :
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
 
  int i=0;
 
  Form1Principale->QueryListingCD->SQL->Add((String)"select * FROM Louer");
  Form1Principale->QueryListingCD->Open();
  Form1Principale->QueryListingCD->First();
 
  Form1Principale->TreeView->Items->Clear();
 
  while(!Form1Principale->QueryListingCD->Eof)
  {
    // on récupère les champs de la table TableLouer
    asLouerNom = Form1Principale->QueryListingCD->FieldByName("Nom")->AsString; //Nom du livre loué
    iLouerIndex = Form1Principale->QueryListingCD->FieldByName("Index")->AsInteger; //Index de l'élément loué
    iLouerLoueur = Form1Principale->QueryListingCD->FieldByName("Loueur")->AsInteger; //Numéros du Loueur
 
    //On réccupère le nom du loueur a partir de son Index
    Form1Principale->QueryListingCDTmp->SQL->Clear();
    Form1Principale->QueryListingCDTmp->SQL->Add((String)"select Nom FROM Loueur WHERE Index="+iLoueur);
    Form1Principale->QueryListingCDTmp->Open();
    Form1Principale->QueryListingCDTmp->First();
    asLoueur = Form1Principale->QueryListingCDTmp->FieldByName("Nom")->AsString;     
 
    // on ajoute une ligne (a mon avis c'est ici qu'il faut modifier des trucs)
    Form1Principale->TreeView->Items->Add(NULL,asLouerLoueur); //Nom du loueur Noeud racine
    Form1Principale->TreeView->Items->AddChild(Form1Principale->TreeView->Items->Item[i],asLouerNom);  //Livre loué Noeud enfant
      i=i+2;
 
 
    // on passe à la ligne suivante
    Form1Principale->QueryListingCD->Next();
  }
MERCI DE VOTRE AIDE