ich danke Dir...
aber dieses problem beschäftigt ja nicht nur mich ;-) soll ja noch ein paartausend andere geben die sich da einen kopf drum machen wie man sowas "elegant" lösen kann.
dann werd' ich wohl eine menge DB zugriffe in kauf nehmen müssen und drauf warten daß mir was besseres einfällt! ;-)
zu deinem Beispiel: genau so sieht's bei mir aus! aber um das als Baum auszugeben benötige ich imens viele DB-zugriffe...
So ist das Leben...
ist ja klar die NULL felder entsprechen den ROOTS. aber auf welche weise kämpfe ich mich da nun durch um eine Sinnvolle Reihenfolge von "beitr_num" zu ermitteln?
Ob meine Lösung die sinnvollste ist, weiß ich nicht. Und die von Dir eingesetzten Technologien beherrsche ich nicht aber in der MS-Welt würde ich es mit ADO und VB etwa so lösen (Quick'n'Dirty):
Unter der Annahme, dass in den Root-Einträgen für den Vorgänger 0 (und nicht NULL) steht...
Start mit
BuildTree 0
sub BuildTree(Parent as long, Optional Step as Integer=0)
dim rs as new ADODB.Recordset
rs.open "SELECT num FROM tbl WHERE vorg =" & Parent, connection
do until rs.EOF
debug.print String(2*Step,"-") & rs!num
'Für jede Hierarchie-Stufe stellt die Fkt String 2 Bindestriche voran!
BuildTree rs!num, Step+1 'Rekursiver Aufruf!!!
rs.MoveNext
loop
rs.close
end sub
Hoffe, dass ich nix übersehen habe!