Bonjour
Voil� je viens de faire un QRep avec 1 requ�te, �a fonctionne tr�s bien.
J'ai �galement essay� avec une requ�te dans la bande d�tail et une requ�te dans la bande r�sum� et �a fonctionne impecc aussi. MAIS dans mon cas 2 requ�te dans la bande d�tail, �a ne va pas...

J'ai une table dans laquelle je vais rechercher des parcelles. Dans cette table, j'ai �galement une Client ID. Je le prend et je souhaiterais afficher �galement les coordonn�es du client.. et c'est l� que ca coince !! Ca m'affiche seulement la derni�re valeur de ma table. Donc en gros, les requ�tes se font bien mais il garde en m�moire seulement mon dernier enrgistrement.

Voici mon 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
33
34
35
36
37
38
39
40
 
//On sélectionne toutes les parcelles par ordre de parcelle
 
ImprimeListeClients->Query2->SQL->Clear();
ImprimeListeClients->Query2->SQL->Add("SELECT * FROM TReservation ORDER BY right('000' + Parcelle, 3)");
ImprimeListeClients->Query2->Open();
 
  int i;
//On regarde le nombre de parcelles
  int NbreParcelle =  ImprimeListeClients->Query2->RecordCount;
// On se positionne à la première parcelle
  ImprimeListeClients->Query2->First();
//On fait une boucle, on passe d'une parcelle à une autre
  for (i=0;i<NbreParcelle;i++)
  {
   AnsiString Parcelle = ImprimeListeClients->Query2Parcelle->Value;
   int ClientID =  ImprimeListeClients->Query2ClientID->Value;
   AnsiString SurfaceParcelle = ImprimeListeClients->Query2SurfaceParcelle->Value;
    //Une fois qu'on a tout, on va rechercher les coordonnées du client de la parcelle:
 
        ImprimeListeClients->Query1->Close();
        ImprimeListeClients->Query1->SQL->Clear();
        ImprimeListeClients->Query1->SQL->Add("SELECT * FROM TClient WHERE ClientID=:ClientID");
        ImprimeListeClients->Query1->ParamByName("ClientID")->Value = ClientID;
        ImprimeListeClients->Query1->Open();
        ImprimeListeClients->Query1->Active=true;
 
    // On affiche les coordonnées de la parcelle
         ImprimeListeClients->QRDBText18->DataSet = ImprimeListeClients->Query2;
         ImprimeListeClients->QRDBText18->DataField = "Parcelle";
 
    // On affiche alors les coordonnées du client
         ImprimeListeClients->QRDBText1->DataSet = ImprimeListeClients->Query1;
         ImprimeListeClients->QRDBText1->DataField = "NomHomme";
 
    // On passe à la parcelle suivante
         ImprimeListeClients->Query2->Next();
  }
// On affiche notre QReport
ImprimeListeClients->QReport1->Preview();
Quelqu'un a-t-il une id�e pour que puisse afficher mes 400 enregistrements un en dessous de l'autre dans la bande de d�tail sans passer par une autre table ? Parce que l� j'ai essay� en cr�ant une table, faisant mes requ�tes , les ins�rant dans cette table et afficher, mais �a prend un temps fou � l'affichage et en plus c'est une m�thode barbare que je veux �viter � tout pris !!
D'avance, Merci