Adoquery et Memo [Résolu]

ericdu62x 37 Messages postés mardi 7 octobre 2008Date d'inscription 29 décembre 2008 Dernière intervention - 24 nov. 2008 à 18:39 - Dernière réponse : cs_cantador 4996 Messages postés dimanche 26 février 2006Date d'inscription 27 mars 2018 Dernière intervention
- 25 nov. 2008 à 22:25
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
Afficher la suite 

Votre réponse

9 réponses

Meilleure réponse
cs_cantador 4996 Messages postés dimanche 26 février 2006Date d'inscription 27 mars 2018 Dernière intervention - 25 nov. 2008 à 22:25
3
Merci
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

Merci cs_cantador 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 97 internautes ce mois-ci

Commenter la réponse de cs_cantador
ericdu62x 37 Messages postés mardi 7 octobre 2008Date d'inscription 29 décembre 2008 Dernière intervention - 24 nov. 2008 à 18:48
0
Merci
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 ?
Commenter la réponse de ericdu62x
cs_cantador 4996 Messages postés dimanche 26 février 2006Date d'inscription 27 mars 2018 Dernière intervention - 25 nov. 2008 à 15:24
0
Merci
bonjour,
il faut faire une BOUCLE sur la TABLE

cantador
Commenter la réponse de cs_cantador
ericdu62x 37 Messages postés mardi 7 octobre 2008Date d'inscription 29 décembre 2008 Dernière intervention - 25 nov. 2008 à 16:17
0
Merci
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 ?
Commenter la réponse de ericdu62x
ericdu62x 37 Messages postés mardi 7 octobre 2008Date d'inscription 29 décembre 2008 Dernière intervention - 25 nov. 2008 à 16:23
0
Merci
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
Commenter la réponse de ericdu62x
cs_cantador 4996 Messages postés dimanche 26 février 2006Date d'inscription 27 mars 2018 Dernière intervention - 25 nov. 2008 à 18:44
0
Merci
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
Commenter la réponse de cs_cantador
ericdu62x 37 Messages postés mardi 7 octobre 2008Date d'inscription 29 décembre 2008 Dernière intervention - 25 nov. 2008 à 18:53
0
Merci
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 ?
Commenter la réponse de ericdu62x
cs_cantador 4996 Messages postés dimanche 26 février 2006Date d'inscription 27 mars 2018 Dernière intervention - 25 nov. 2008 à 22:06
0
Merci
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
Commenter la réponse de cs_cantador
ericdu62x 37 Messages postés mardi 7 octobre 2008Date d'inscription 29 décembre 2008 Dernière intervention - 25 nov. 2008 à 22:10
0
Merci
Merci, je pense que mon probleme est donc resolu grace a ton aide
Commenter la réponse de ericdu62x

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.