Bonjour à tous.
Dans mon application, j'ai un système de familles d'articles. Ces familles peuvent également contenir d'autres familles.
J'aimerai rechercher toutes les familles contenues dans une famille.
Je dois donc faire une procédure récursive.
Le schéma est le suivant :
....procédure recherche_sous_famille(id_famille, liste_sous_familles)
........on recherche toutes les sous familles de la famille "id_famille"
........pour chaque sous famille
............on ajoute la sous famille dans la liste "liste_sous_familles"
............recherche_sous_famille(id_sous_famille, liste_sous_familles)
........fin
Pouvez-vous me dire si c'est possible d'avoir une requête dans une procédure récursive car j'ai l'impression qu'il considère que la requête dans la procédure "appelante" et la même que dans la procédure appelée.
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 PROCEDURE recherche_tout_fils(id_parent, tab_fils) liste_fils est un tableau dynamique de 0 entier requete est une chaîne recherche_fils est une Source de Données pos est un entier requete = "select fils from ......" SI HExécuteRequêteSQL(recherche_fils,requete) = Faux ALORS Info("Erreur d'éxécution de la requète") RETOUR FIN HLitPremier(recherche_fils) TANTQUE HEnDehors(recherche_fils) = Faux TableauAjoute(tab_fils, recherche_fils.fils) pos = HSauvePosition(recherche_fils) recherche_tout_fils(recherche_fils.fils, tab_fils) HRetourPosition(pos) HLitSuivant(recherche_fils) FIN
Merci beaucoup.
Partager