Crystal Reports Designer  

Boucles Do (syntaxe Basic)

Une boucle Do peut être utilisée pour exécuter un bloc défini d'instructions un nombre de fois indéterminé.

Les 4 différents types de boucle Do

Type de boucle Do Explication Exemple
Boucle Do While ... Boucle Do While ... Cette boucle évalue la condition, et si la condition est vraie, les instructions suivant la condition sont évaluées.

Une fois ceci effectué, la condition est réévaluée, et si la condition est vraie, les instructions sont réévaluées.

Le processus se répète jusqu'à ce que la condition soit fausse.

Do While condition
   instructions
Loop
Do Until ... Loop Boucle Do Until… Cette boucle est similaire à la boucle Do While ... mis à part que les instructions sont évaluées jusqu'à (until) ce que la condition soit vraie, plutôt que tant (while) qu'elle est vraie.
Do Until condition
   instructions
Loop
Do ... While La boucle Do ... While évalue les instructions une seule fois.

La condition est ensuite évaluée et, si celle-ci est vraie, les instructions sont de nouveau évaluées. Ce processus se poursuit jusqu'à ce que la condition soit fausse.

Do
   instructions
boucle While condition
Do ... Loop Until Similaire à la boucle Do… While, les instructions étant dans ce cas évaluées jusqu'à ce que la condition soit vérifiée.
Do
   instructions
boucle Until condition
Remarque   les boucles Do prennent en charge une instruction Exit Do pour sortir immédiatement d'une boucle. L'instruction Exit Do est similaire à Exit For pour les boucles For/Next.

Do While ... Exemple de formule de boucle

Dans l'exemple suivant, la première occurrence d'un chiffre est recherchée dans une chaîne d'entrée. Si un chiffre est trouvé, c'est la position du chiffre qui est renvoyée ; sinon c'est la valeur -1. Dans ce cas, la chaîne d'entrée est définie explicitement comme une constante chaîne, mais elle pourrait également être définie comme égale à un champ de base de données de type chaîne.

Par exemple, pour la chaîne d'entrée, "Les 7 nains", la formule renvoie 5, qui est la position du chiffre 7.

Dim chaîneEntrée
chaîneEntrée = "Les 7 nains"
Dim i, strLen
i = 1
strLen = Len (chaîneEntrée)
formula = -1
Do While i <= strLen And formula = -1
   Dim c As String
   c = Mid (chaîneentrée, i, 1)
   If IsNumeric (c) Then formula = i
   i = i + 1
Loop

Voir aussi

Boucles While