Ok... Merci
Je n'avais pas mis de boucle While, c'est donc fait...

Mais en fait après While, j'utilise Do...

Ce qui me donne le code suivant :

If Not IsNull(oDonnees) Then REM
  While oDonnees.next REM


     Do
     execOK = oDonnees.next
     Print oDonnees.getString(3)
     nbP = nbP+1
     Loop until oDonnees.isLast

  Wend REM
End If REM


Le problème avec ce code est qu'il m'oublie la première ligne de données
passant directement à la seconde jusqu'à la fin du tableau
N'étant pas très doué.... je n'arrive pas à corriger cette erreur...


comme ça à vue de nez et sans OOo sous la main pour tester, je dirais :

nbP = 0
If Not IsNull(oDonnees) Then
  While oDonnees.next
     nbP = nbP + 1
     Print oDonnees.getString(3)
 Wend
End If

(si nbP sert à compter le nombre de résultats dans oDonnees)

à vérifier.

on est dans le l'exemple intéressant de la différence fondamentale entre
WHILE ... WEND et DO ... LOOP UNTIL :
dans le premier cas, la boucle n'est parcourue que si le test est vrai,
alors que dans le second cas, la boucle est parcourue au moins une fois
quelle que soit la valeur du test.
Pour ton cas, tu ne souhaites pas parcourir la boucle si oDonnees est vide.

Manuel

Répondre à