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 :
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 !!
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();
D'avance, Merci![]()
Partager