OVH Cloud OVH Cloud

Peut-être do while

9 réponses
Avatar
Jean-Claude
Bonjour à tous.

J'ai une série d'opérations à faire et je ne vois pas où mettre le do
while:


do while result >0
RESULt=dcount("*","tab_donnees"
opération1
opération 2
opération 3
etc..
else while
operation 9
end while

Je ne vois pas tellement où mettre la variable result ou comment le
faire remonter pour la vérification à chaque fois

Merci

9 réponses

Avatar
Gafish
Jean-Claude wrote:
Bonjour à tous.


Bonjour,

J'ai une série d'opérations à faire et je ne vois pas où mettre le do
while:

do while result >0
RESULtÜount("*","tab_donnees"
opération1
opération 2
opération 3
etc..
else while
operation 9
end while


La syntaxe du do while est la suivante :

Do While Condition
...
Loop

Si tu testes le result, il faut que dans tes opérations tu stockes le
resultat dans ta variable result je pense. Quel opération fais tu ?

Arnaud
--
Charte du forum : http://www.mpfa.info/
Recherche dans les archives :
http://groups.google.fr/group/microsoft.public.fr.access?hl=fr

Avatar
Jean-Claude
Jean-Claude wrote:
Bonjour à tous.


Bonjour,

J'ai une série d'opérations à faire et je ne vois pas où mettre le do
while:

do while result >0
RESULtÜount("*","tab_donnees"
opération1
opération 2
opération 3
etc..
else while
operation 9
end while


La syntaxe du do while est la suivante :

Do While Condition
...
Loop

Si tu testes le result, il faut que dans tes opérations tu stockes le
resultat dans ta variable result je pense. Quel opération fais tu ?

Arnaud


Merci Arnaud de ta réponse plus que rapide.

ma variable par exemple est toto:
toto=count("*","table ou requête"o
do while toto >0
...
loop

Mais comment lui faire tester la variable à chaque fois?

merci


Avatar
Gafish
Jean-Claude wrote:
Merci Arnaud de ta réponse plus que rapide.

ma variable par exemple est toto:
toto=count("*","table ou requête"o
do while toto >0
...
loop

Mais comment lui faire tester la variable à chaque fois?


Il faut que l'alimentation de ta variable se fasse dans le Do While...Loop
car sinon tu vas boucler infiniment car la valeur ne changera pas.
Maintenant, l'alimentation de ta variable est un count, si tu veux que le
count change, il faut qu'il il y ait des suppression de lignes dans ta table
dans le do while...loop pour que tu atteignes la valeur 0 non ?
Pour faire plus simple, quel est le but de ton opération ? De quoi pars tu
et à quoi veux tu arriver, on pourra voir si ce code est le plus approprié.

Arnaud
--
Charte du forum : http://www.mpfa.info/
Recherche dans les archives :
http://groups.google.fr/group/microsoft.public.fr.access?hl=fr

Avatar
Jean-Claude
Gafish a formulé ce mardi :
Jean-Claude wrote:
Merci Arnaud de ta réponse plus que rapide.

ma variable par exemple est toto:
toto=count("*","table ou requête"o
do while toto >0
...
loop

Mais comment lui faire tester la variable à chaque fois?


Il faut que l'alimentation de ta variable se fasse dans le Do While...Loop
car sinon tu vas boucler infiniment car la valeur ne changera pas.
Maintenant, l'alimentation de ta variable est un count, si tu veux que le
count change, il faut qu'il il y ait des suppression de lignes dans ta table
dans le do while...loop pour que tu atteignes la valeur 0 non ?
Pour faire plus simple, quel est le but de ton opération ? De quoi pars tu et
à quoi veux tu arriver, on pourra voir si ce code est le plus approprié.

Arnaud


Disons que je fais des opérations ligne par ligne. A un moment le
dcount =0. Là je veux qu'il arrête.
mais où mettre la variable qui change à chaque fois. en fait:

do while x>0
xÜount ("*","table")
fais ca
fais ceci
fais cela
loop
docmd.close

Disons que j'ai trente deux records et que je les traite un par un en
sélection requête sur 1er enregistrement


Avatar
Olivier, Jegou
Hello Jean-Claude,

En fait, lorsque tu utilises le Do While, cela signifie que les
traitements que tu vas effectués dans ta boucle (Do while), se feront tant
que la condition est exact.

Dans ton exemple, Tant que x n'est pas égal à 0, tu exécutes une série
d'actions...(Je suppose que ces actions jouent sur ta variable x ??). A un
moment donné, ton x sera égal à 0. Donc ta boucle (Do While) s'arrêtera !!!.
si les actions ne modifie pas la valeur de ta variable, la boucle sera de
type infinie 8-(...

@+
Olivier
Avatar
Jean-Claude
Olivier, Jegou a couché sur son écran :
Hello Jean-Claude,

En fait, lorsque tu utilises le Do While, cela signifie que les
traitements que tu vas effectués dans ta boucle (Do while), se feront tant
que la condition est exact.

Dans ton exemple, Tant que x n'est pas égal à 0, tu exécutes une série
d'actions...(Je suppose que ces actions jouent sur ta variable x ??). A un
moment donné, ton x sera égal à 0. Donc ta boucle (Do While) s'arrêtera !!!.
si les actions ne modifie pas la valeur de ta variable, la boucle sera de
type infinie 8-(...

@+
Olivier


Merci,
Je pense avoir compris. En fait je dois écrire comme ça:

do While x>0
xÜount ("*","req")
faire 1
faire 2
faire3
loop
faire 7
faire 8
end while

Avatar
Nobodyisperfect
Salut Jean Claude,

Le syntaxe est comme ceci :

Do While x > 0 (On suppose que x est > à 0. Ce qui veut dire : Tant que le
total des lignes (x) est supérieur à 0)
x = Dcount("*","req") (Tu mets le total de ligne dans ta variable x)

Faire 1
Faire 2
Faire 3
Faire....

Loop

Il n'y a pas de "End While". C'est le Loop qui sert de renvoi à Do While.

Restant à ta dispo pour tout renseignement complémentaire que tu
souhaiterais avoir 8-)
Olivier
Avatar
Jean-Claude
Il se trouve que Nobodyisperfect a formulé :
Salut Jean Claude,

Le syntaxe est comme ceci :

Do While x > 0 (On suppose que x est > à 0. Ce qui veut dire : Tant que le
total des lignes (x) est supérieur à 0)
x = Dcount("*","req") (Tu mets le total de ligne dans ta variable x)

Faire 1
Faire 2
Faire 3
Faire....

Loop

Il n'y a pas de "End While". C'est le Loop qui sert de renvoi à Do While.

Restant à ta dispo pour tout renseignement complémentaire que tu
souhaiterais avoir 8-)
Olivier


Merci pour la réponse
Donc ce que j'ai écrit, saud le end while est bon. tant que x>0il fait
1 2 3 et après 4 5 6
merci

Avatar
Nobodyisperfect
JC.

Tout à fait..
Tant que ta condition est bonne (x>0), toutes les instructions imbriquées
dans ton Do While --- Loop, seront exécutées.

@+
Olivier