Bonjour,
Je rencontre un problème pour parcourir mes listes. Je possède une fenêtre avec deux Combos :
- Une qui contient toutes les références de machine (ex : 66556, 66557, ...) ainsi que leur type (ex : Perceuse, ...)
- Une qui contient que le type (ex: Perceuse, ...)
Ensuite j'ai mes deux liste qui s'initialisent avec les références de machine en fonction de mes choix dans les combos.
Ex : je connais directement la ref de ma machine je la sélectionne dans la première combo et elle se met dans mes deux listes OU BIEN je ne connais pas la ref et je sélectionne un type et la dans mes deux listes se mettent TOUTES les références en fonction du type.
J'ai bien réussi à faire cela mon problème maintenant, est que je ne puisse pas remettre les mêmes références dans mes listes.
Voici mon code :
J'ai rajouté les POUR TOUTE LIGNE DE afin de vérifier si la valeur n'est pas déjà présente mais après test je ne passe jamais dedans. Par contre le TANTQUE est correct. Aussi si vous avez une idée d'optimisation car cela est déjà très lourd. (En rouge ce qui ne fonctionne pas)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 SI PAS ExécuteRequête(REQ_Liste_TypeMachine,hRequêteDéfaut,COMBO_Liste_TypeMachine..Valeur) ALORS Erreur("Erreur d'initialisation de la requête"+RC+HErreurInfo()) RETOUR FIN HLitPremier(REQ_Liste_TypeMachine) TANTQUE PAS HEnDehors(REQ_Liste_TypeMachine) POUR TOUTE LIGNE DE LISTE_Machine_Pb SI ChaîneCompare(LISTE_Machine_Pb..ValeurAffichée,REQ_Liste_TypeMachine.IDMachine) <> 0 ALORS // Ajoute la référence de la machine dans la liste des machines concernées par le problème ListeAjoute(LISTE_Machine_Pb,REQ_Liste_TypeMachine.IDMachine) FIN FIN POUR TOUTE LIGNE DE LISTE_Machine_Pb_Resoudre SI ChaîneCompare(LISTE_Machine_Pb_Resoudre..ValeurAffichée,REQ_Liste_TypeMachine.IDMachine) <> 0 ALORS // Ajoute la référence de la machine dans la liste des machines concernées par le problème et encore à résoudre ListeAjoute(LISTE_Machine_Pb_Resoudre,REQ_Liste_TypeMachine.IDMachine) FIN FIN HLitSuivant(REQ_Liste_TypeMachine) FIN
Merci d'avance !
EDIT :
Voici un screen pour plus de clarté
Partager