ve prego
Allora la funzione dovrebbe scorrere fino alla fine segnando nella variabile sqlIns una stringa sql.
Entra la prima distinta che è la 317
come si vede da qui ha 4 dettagli dal 628 al 636.
ok?
il primo 630 ha collegata una distinta(la 337)
la funzione ricorsiva dovrebber richiamarsi ed elaborare questa distinta...
id dist id det id_distcoll id dett padre
317 628 0
317 629 0
317 630 337 628
317 630 628
317 630 334 628
317 636 334 630

questa è la distinta 337
337 631 0
337 632 631

una volta terminata la 337 la funzione dovrebbe ritornare ad elaborare la prima distinta appunto, ovvero andare a vedere il 2° dettaglio che è un altro 630, dopodiche se non ha distinte collegate va all'altro 630 che ha una distinta collegata 334 e quindi si comporta come la 337.Una volta terminata elabora il 636...

Mi si blocca quando va nella distinta 337, non riesce a tornare nella prima distinta 317 che si stava elaborando e quindi riprendere a scorrerla dove si era fermata.
GrAZIE!

qui sotto il codice


function riempiA(conn,id_elab,id_dist)

sql = "select * from v_prova_distinta where id_distinta = " & id_dist
set rsR = conn.execute (sql)
while not rsR.eof
if rsR("id_dist") <> "" then
sqlIns = "Insert into temp_distinta (id_elaborazione,id_distinta,id_distinta_dettaglio ,id_articolo,id_padre,id_dist_coll,codutente,punto _aggancio) values (" & id_elab & "," & id_distinta & "," & rsR("id_distinta_dettaglio") & "," & rsR("id_articolo") & "," & rsR("id_distinta_dettaglio_padre") & "," & rsR("id_dist") & ",'" & fnApici(session("operatore")) & "',0)"

riempiA conn,id_elab,rsR("id_dist")

else

sqlIns = "Insert into temp_distinta (id_elaborazione,id_distinta,id_distinta_dettaglio ,id_articolo,id_padre,id_dist_coll,codutente,punto _aggancio) values (" & id_elab & "," & id_distinta & "," & rsR("id_distinta_dettaglio") & "," & rsR("id_articolo") & "," & rsR("id_distinta_dettaglio_padre") & ",null" & ",'" & fnApici(session("operatore")) & "',0)"

end if

rsR.movenext
wend
end function