Bonjour j'ai une erreur dans ma boucle que je n'arrive pas à corriger
voici le passage concerné :
RecSetTEnr.MoveFirst RecSetTEnr2.MoveFirst
For x = 1 To Cpte ( indique la fin du fichier , fin qui n'est pas toujours identique )
V = RecSetTEnr(1) Rtat = Rtat & V For i = x + 1 To Cpte V2 = RecSetTEnr2(1) If V2 > V Then RecSetTEnrRtat.AddNew RecSetTEnrRtat(NomChamp1) = V RecSetTEnrRtat(NomChamp2) = V2 RecSetTEnrRtat.Update End If RecSetTEnr2.MoveNext Next i RecSetTEnr2.MoveFirst RecSetTEnr.MoveNext Next x
le but de cette boucle est de composer toutes les combinaisons de n nombres pris par 2 les résultats sont notés dans une table Donc dans une liste de 10 nombres classés croissant on doit avoir (10 *9 ) / ( 1*2 ) soit 45 résultats
l'anomalie vient du fait que la boucle ne prend pas en compte le dernier nombre et à chaque cycle ça diminue d' 1 , le dernier nombre alors n'est pas pris le résultat est pratiquement réduit de moitié et complètement faux
Marsh Posté le 02-03-2009 à 18:02:30
Bonjour
j'ai une erreur dans ma boucle que je n'arrive pas à corriger
voici le passage concerné :
RecSetTEnr.MoveFirst
RecSetTEnr2.MoveFirst
For x = 1 To Cpte ( indique la fin du fichier , fin qui n'est pas toujours identique )
V = RecSetTEnr(1)
Rtat = Rtat & V
For i = x + 1 To Cpte
V2 = RecSetTEnr2(1)
If V2 > V Then
RecSetTEnrRtat.AddNew
RecSetTEnrRtat(NomChamp1) = V
RecSetTEnrRtat(NomChamp2) = V2
RecSetTEnrRtat.Update
End If
RecSetTEnr2.MoveNext
Next i
RecSetTEnr2.MoveFirst
RecSetTEnr.MoveNext
Next x
le but de cette boucle est de composer toutes les combinaisons de n nombres pris par 2
les résultats sont notés dans une table
Donc dans une liste de 10 nombres classés croissant on doit avoir (10 *9 ) / ( 1*2 ) soit 45 résultats
l'anomalie vient du fait que la boucle ne prend pas en compte le dernier nombre et à chaque cycle ça diminue d' 1 , le dernier nombre alors n'est pas pris
le résultat est pratiquement réduit de moitié et complètement faux
Merci à qui peut m'éclairer