Though the initial overhead is reduced, you must issue a new child query for each parent record that is accessed, and you must maintain the connection to the datasource for as long as the recordset is open. You cannot update the summary columns and calculated columns because they might be derived from more than one record. Like relation-based hierarchies, all records must be read up front. Simplified syntax is provided first, then examples with diagrams. The examples use tables from the Northwind sample database.
Aggregates can only operate on fields in the immediate children of the recordset.
To operate on fields in grandchildren, and so forth, you must produce intermediate aggregates. See the Group Hierarchy with Aggregate example at the end of this article for an illustration. Failure to do so results in a message that the functionality is not supported, even though it doesn't result in a syntax error. In the previous diagram, the parent recordset contains all fields from the Customers table and a field called rsOrders. The other examples use a similar notation.