Я создал форму и добавил элемент управления ActiveX в виде дерева и загружаю следующую функцию Filltree в событии form_load.
В каждом дереве (таблице) данные имеют парентид.Если parentid = 0, то это узел.
Sub FillTree()
Dim TNode As node
Dim oRs As DAO.Recordset
Set oRs = CurrentDb.OpenRecordset("SELECT Query FROM THREE TABLES", dbReadOnly, dbSeeChanges)
oRs.MoveFirst
While Not oRs.EOF
If oRs.Fields("ParentID") > 0 Then
Me.TreeView0.Nodes.Add "key" & oRs.Fields("ParentID"), tvwChild, "key" & oRs.Fields("id"), oRs.Fields("TREEDATA")
Else
Me.TreeView0.Nodes.Add , , "key" & oRs.Fields("id") & "", oRs.Fields("TREEDATA")
End If
oRs.MoveNext
Wend
End Sub