Bonjour,

J'ai une fonction récursive qui fonctionne très bien pour afficher mes données :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
<% Set LIGNESnomenc = oCon.execute("SELECT a.codecompo, a.designation, LEVEL, a.codenomenc,a.quantite,b.type  
FROM MABASE.LIGNENOMENCLATURE a inner join MABASE.article b on b.code=a.codecompo 
where a.codecompo  is not null and b.type='N' 
START WITH a.codenomenc = '"&lignescde(6)&"' 
CONNECT BY PRIOR a.codecompo = a.codenomenc ")%>
Mon problème est que je dois faire des calculs :
- la quantité du niveau 2 doit être multipliée par la quantité du niveau 1
- la quantité du niveau 3 doit être multipliée par la quantité du niveau 2 puis multipliée par la quantité du niveau 1
Mais je peux avoir 2 niveaux 2 pour un seul niveau 1 et là ça ne fonctionne plus, puisqu'il multiplie par le niveau 3 précédent, il ne reprend pas au niveau 1 correspondant :

Level | Qté | Total

1 | |600
2 |1 |600
3 |0.001 |0.6
2 |1 |0.6 =>ERREUR : résultat attendu = 600
3 |0.001 |0 =>ERREUR : résultat attendu = 0.6
1 | |600
2 |1 |600
3 |0.001 |0.6
2 |1 |0.6 =>ERREUR : résultat attendu = 600
3 |0.001 |0 =>ERREUR : résultat attendu = 0.6

Houla, je ne sais pas si c'est bien clair tout ça ! ;-)
Quelqu'un aurait une idée ?