So the child and grandchild recordsets will get created as :
child:
SELECT veterinary_surgeon_table.branch_number, veterinary_surgeon_table.surgery_date, CONCAT(veterinary_surgeon_table.branch_number, veterinary_surgeon_table.surgery_date) as childID
FROM veterinary_surgeon_table
grandChild:
SELECT veterinary_surgeon_table.vet_id, veterinary_surgeon_table.vet_name, CONCAT(veterinary_surgeon_table.branch_number, veterinary_surgeon_table.surgery_date) AS parentID
FROM veterinary_surgeon_table
When adding the rsChild Create Dynamic Array behavior, you will not be able to select the childID alias created by the recordset, so set the child id to the unique_id column, you will then have to go into the code and change the unique_id column name to childID to use the alias.
same thing when createing the dynamic array for the rsGrandchild recordset, you will need to set the Parent ID to the unique_id column, then go into the code and change it to use the parentID alias.