Boucle avec VB
Bonjour,
Avec VB6 comment je peux résoudre le problème suivant : trois listes A,B et C la liste A comprend des réels de 1 à 10 (incrémentation) et la liste B comrend les réels suivants (2,3,6,9) , comment renvoyer les éléments dans la liste C les éléments manuquants c-a-d (1,4,5,7,8 et 10) Merci
Avec VB6 comment je peux résoudre le problème suivant : trois listes A,B et C la liste A comprend des réels de 1 à 10 (incrémentation) et la liste B comrend les réels suivants (2,3,6,9) , comment renvoyer les éléments dans la liste C les éléments manuquants c-a-d (1,4,5,7,8 et 10) Merci
Configuration: Windows 2000 Internet Explorer 6.0
71 réponses
Résumé de la discussion
Le problème consiste à déterminer, en VB6, les éléments de A qui ne figurent pas dans B et les transférer dans C, comme dans l’exemple où A contient 1 à 10 et B contient 2,3,6,9. Une solution consiste à utiliser deux boucles : parcourir A puis, pour chaque élément, comparer avec B et, si absent, l’ajouter à C. Des échanges suggèrent aussi d’éviter les chaînes et de déclarer A et B comme tableaux numériques (Integer) et de bien initialiser les index afin d’éviter les erreurs. En cas d’ordre différent entre A et B ou de nécessité de meilleures performances, une approche robuste peut consister à trier A puis réaliser la différence avec B, ou à utiliser des structures associatives.
-
ok, pas de blème
;o) -
Merci, pour le momoment cava tu restes avec moi, on ne sais jamais.
-
ok, j'ai compris la manip ... tu bloques sur koi ?
-
C'est pas le cas, car il faut bien saisir formulaire vièrge en recuperant ces numeros(n°,classe,annee scolaire,adresse n° de tel..., un par un.
-
Bonjour, je vais merci ...
Tu veux dire que tu veux récuperer les numéros manquants dans un listBox et ensuite faire des insert dans la table de ta base de données ? Si c'est le cas, pourquoi ne pas le faire en même temps que ton tri ? il suffit de faire la fonction qui va bien pour ça... -
Bonjour POLUX31,
Comment tu vas bien ? je suis entrain de terminer le programme concernant ma base de donnée, après avoir terminé les numéros manuquants, envie de les remplir à partir d'un form contenant un listbox qui génére ces numéros. -
n'oublie pas de mettre résolu si tu n'as plus de blème ... merci ;o)
-
Merci, c'est avec plaisir que je l'ai fait.
Bon courage à toi
;o)
Polux -
non je suis pas gaté, mais je trouve pas la concentration, mais toi très gentil et très généreux, merci et je m'excuse pour le dérangement.
NAGNAG -
tu veux pas m'aider ?
-
je vais encore faire une exception pour toi ... décidemment tu es gaté ... ma proposition est assez simpliste et il existe surement un moyen plus conventionnel. Mais je suis en manque d'inspiration ... :o)
Public Function SearchTable()
Dim i As Integer
i = ReturnI(Qr.Fields(0))
While Not Qr.EOF
If i <> Qr.Fields(0) Then
lstaud.AddItem i
Qr.MovePrevious
End If
Qr.MoveNext
i = i + 1
Wend
End Function
Public Function ReturnI(ByVal ind As Integer) As Integer
Dim strI As String
Dim lg As Long
Dim c As String
strI = CStr(ind)
lg = Len(strI)
If Right(strI, 1) <> "1" Then
ReturnI = CInt(Left(strI, lg - 1) & 1)
Esle
ReturnI = ind
End If
End Function -
J'ai perdu ma concentration.
-
comment faire ? alors POLUX tu peut m'aider stp
-
oui ok, mais i alors ???
-
car x c'est variable qu'on peut le connaître qu'au cours de l'exect x=1 ou 101 ou 201 ......, non ?
-
Ah oui, j'oubliai le principal ... ta fonction ne retourne rien ... ;o)
-
pourquoi passer deux paramètres ? et j'aimerai voir à quel moment tu appelles ta fonction ... ?
-
t'a d'autres solutions POLUX31 ?
-
variable à partir de 1, qu'on l'ajoute au cours de l'exécution
-
Quelle est la valuer de X ?
Je ne comprends pas ....
- 1
- 2
- 3
- 4
Suivant