J'ai un fichier de relation entre deux fichiers, il s'appelle FicheRaf_Personne. Il est composé de :
- IDFicheRaf_Personne (la clef composée)
- IDPersonne
- IDFicheRaf
J'ai maintenant un champ liste de références de personnes (ex : NAL01, NES01, TRB01, ...). Je souhaite sauvegarder cette liste dans FicheRaf_Personne, mon problème est qu'il faut effectuer un tri (par insertion ?) des références afin de ne pas remettre dans mon fichier de relation des REF de personne qui y sont déjà.
Pour ce faire j'ai une requête qui sélectionne mes IDPersonne en fonction de mon IDFicheRaf, j'arrive donc à récupérer les refs de personnes existantes mais je bute sur la comparaison par rapport à ma liste. Je ne parviens pas à faire l'algorithme en WLangage.
Voici mon code initial qui malheureusement ne fonctionne pas :
Merci d'avance
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 // Parcours de toutes les personnes par fiche en cours SI PAS HExécuteRequête(REQ_ModificationFiche_Personne,hRequêteDéfaut,IDFicheEnCours) ALORS Erreur("Erreur d'initialisation de la requête"+RC+HErreurInfo()) RETOUR FIN HLitPremier(REQ_ModificationFiche_Personne) TANTQUE PAS HEnDehors(REQ_ModificationFiche_Personne) POUR TOUTE LIGNE DE LISTE_Personne // Si la personne dans la liste n'est pas dans le fichier on l'ajoute SI LISTE_Personne..ValeurMémorisée = REQ_ModificationFiche_Personne.IDPersonne ALORS RETOUR SINON FicheRaf_Personne.IDFicheRaf = IDFicheEnCours FicheRaf_Personne.IDPersonne = LISTE_Personne..ValeurMémorisée HAjoute(FicheRaf_Personne) FIN FIN Info("Res REQ en cours : "+REQ_ModificationFiche_Personne.IDPersonne) HLitSuivant(REQ_ModificationFiche_Personne) FIN
Partager