ник: osmor
насчет быстрее не знаю, надо проверят.
Но в принципе можно написать функцию строящую дерево любой вложенности по одному переданному SHAPE рекордсету, вообще ничего не зная о начинке, и связях. Там по ссылкам есть пример такой печати
в случае с открытием "руками" 2-х (ну и более) рекордсетов нужно знать как они связаны.
Но я сам нигде реально не использовал SHAPE