Adoquery et Memo [Résolu]

Signaler
Messages postés
37
Date d'inscription
mardi 7 octobre 2008
Statut
Membre
Dernière intervention
29 décembre 2008
-
Messages postés
4715
Date d'inscription
dimanche 26 février 2006
Statut
Modérateur
Dernière intervention
27 mars 2018
-
bonjour, j'ai un petit soucis que je n'arrive pas a resoudre a savoir :

j'ai une base de donnée Access avec des composants ADO  => AdoQuery1  via laquelle j'effectue une requete
[SELECT * FROM ListingBal WHERE EnLigne = true]

les resultats doivent etre recuperé dans un Memo1
j'ai mis le code suivant: [rzMemo1.Lines.add(AdoQuery1.fields.FieldByName('TypeBalancelle').AsString);]

le probleme c'est que quand je recupere le resultat, je n'obtiens qu'une seule ligne d'un seul champ, et je n'arrive pas a integrer l'integralité de la requete

merci par avance
A voir également:

9 réponses

Messages postés
4715
Date d'inscription
dimanche 26 février 2006
Statut
Modérateur
Dernière intervention
27 mars 2018
12
ah bien sûr, on peut toujours pinailler sur l'open de la table qui pourrait ne pas s'ouvrir...
donc, le top serait de faire :

procedure TForm1.Button1Click(Sender: TObject);
begin
try
AdoQuery1.open;
except
showmessage('la table ne s''ouvre pas');
exit;
end;

while not AdoQuery1.EOF do
   begin
   rzMemo1.Lines.add((AdoQuery1.fields.FieldByName   ('TypeBalancelle').AsString)+'          '+  (AdoQuery1.fields.FieldByName('NumeroBalancelle').AsString));
   AdoQuery1.Next;
   end;
AdoQuery1.close;
end;

cantador
Messages postés
37
Date d'inscription
mardi 7 octobre 2008
Statut
Membre
Dernière intervention
29 décembre 2008

alors j'ai trouvé une partie de la reponse a savoir:

rzMemo1.Lines.add((AdoQuery1.fields.FieldByName('TypeBalancelle').AsString)+' ......'+(AdoQuery1.fields.FieldByName('NumeroBalancelle').AsString));    

mais je n'ai toujours qu'une seule ligne !!!!
comment faire pour avoir le tout de la requete ?
Messages postés
4715
Date d'inscription
dimanche 26 février 2006
Statut
Modérateur
Dernière intervention
27 mars 2018
12
bonjour,
il faut faire une BOUCLE sur la TABLE

cantador
Messages postés
37
Date d'inscription
mardi 7 octobre 2008
Statut
Membre
Dernière intervention
29 décembre 2008

J'ai tenté cela:

begin
AdoQuery1.open;
while not AdoQuery1.EOF do
begin
rzMemo1.Lines.add((AdoQuery1.fields.FieldByName('TypeBalancelle').AsString)+'          '+(AdoQuery1.fields.FieldByName('NumeroBalancelle').AsString));
AdoQuery1.Next;
AdoQuery1.close
end;
end;

mais cela ne donne strictement rien du tout, je dois certainement mal m'y prendre ?
Messages postés
37
Date d'inscription
mardi 7 octobre 2008
Statut
Membre
Dernière intervention
29 décembre 2008

Visiblement avec une autre solution cela a l'air de fonctionner !

begin
RzMemo1.Clear;
AdoQuery1.Close;
Adoquery1.Open;
try
   while not Adoquery1.eof do
   begin
     rzMemo1.Lines.add((AdoQuery1.fields.FieldByName('TypeBalancelle').AsString)+' '+(AdoQuery1.fields.FieldByName('NumeroBalancelle').AsString));
     Adoquery1.next;
   end;
 finally
   AdoQuery1.Close;

Merci
Messages postés
4715
Date d'inscription
dimanche 26 février 2006
Statut
Modérateur
Dernière intervention
27 mars 2018
12
begin
AdoQuery1.open;
while not AdoQuery1.EOF do
begin
rzMemo1.Lines.add((AdoQuery1.fields.FieldByName('TypeBalancelle').AsString)+'          '+(AdoQuery1.fields.FieldByName('NumeroBalancelle').AsString));
AdoQuery1.Next;
AdoQuery1.close // l'erreur était là
end;
AdoQuery1.close; // On ferme une fois l'opération terminée..
end;

mais avec try finally c'est encore mieux !

cantador
Messages postés
37
Date d'inscription
mardi 7 octobre 2008
Statut
Membre
Dernière intervention
29 décembre 2008

Merci d'avoir corrigé mes erreurs, mais pense tu que la derniere solution que j'ai trouvé,est correcte ?
ou est ce que je modifie en try finally ?
Messages postés
4715
Date d'inscription
dimanche 26 février 2006
Statut
Modérateur
Dernière intervention
27 mars 2018
12
A vrai dire le close final ne sert pas à grand chose puisque tu démarres ta procédure par un close et le traitement se fera en lecture seule.

tu peux donc supprimer le try...finally

cantador
Messages postés
37
Date d'inscription
mardi 7 octobre 2008
Statut
Membre
Dernière intervention
29 décembre 2008

Merci, je pense que mon probleme est donc resolu grace a ton aide