Stringliste A mit Namen aller 3000 Tabellen.
Stringliste B mit Namen aller kopierten Tabellen (zu Anfang leer)
Code:
repeat
1. Tabellennamen aus Liste A rausgreifen (Suchkandidat)
Prüfen, ob es im View einen Parent zum Suchkandidat gibt und dabei aber die Liste B beachten
falls ja: den Tabellenname ans Ende der Stringliste befördern, der Name der Parenttabelle wird zu deinem neuen Suchkandidaten
falls nein: Tabellename von Liste A nach Liste B verschieben.
until Liste A is empty
Die Liste B enthält nun die Tabellennamen in der gewünschten Reihenfolge.