Création
d'entreprise
Posez votre question Signaler

Boucle imbriquée [Résolu]

7aentete - Dernière réponse le 3 janv. 2012 à 08:19
Bonjour,
J'ai dans une base de donnes des numeros sous la forme 9999/001 et 999 (sans barre de fraction. Je souhaite trouver la position de la barre quand il y en une.
ma boucle :
dim x as number
dim prog as string
x=1
do
if isnumeric(left({T_EQUIPMENT.EREQ_CODE}, x)) then
x=x+1
else
formula = x
prog = "fin"
end if
loop while prog <> "fin"
cela marche quand il y uniquement des numéros avec barre de fraction mais plante ( nombre de boucle maxi dépassée) avec des numéros sans barre.
comment puis-je éviter ce pb ?
merci d'avance
Lire la suite 

Boucle imbriquée »

2 réponses
Réponse
+0
moins plus
Bonjour,
Vous avez peut être à votre disposition l'instruction Instr qui renvoie la position de la première occurrence d'une chaîne dans une autre chaîne. Dans votre cas :
Instr("9999/001", "/") renvoie 5
Instr("99999", "/") renvoie 0
Donc, pas besoin de boucle...

Sinon, il faut changer votre sortie de boucle. Loop While prog <> "fin" est infini, le programme ne trouvant que des valeurs numériques...
Vous pouvez tester, par exemple :
Loop While x <= Len(T_EQUIPMENT.EREQ_CODE)
(tant que x est inférieur ou égal au nombre de caractères du code...)
7aentete - 3 janv. 2012 à 08:19
merci pour cette réponse, instr fonctionne parfaitement et c'est beaucoup plus simple.

merci encore
Ajouter un commentaire
Ce document intitulé « boucle imbriquée » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?