Okay,the only way to pass information to and from a subreport (exception is parameters that can be passed from the main report to a subreport), is to used shared variables. So a shared variable only holds one value at a time (i.e., if the sub report is in a group footer, then the shared value can be set by the sub report when the report processes the group footer and thus when the group footer is processed again, then the shared variable will get a new value.). I think you can pass a shared array (there are limits to arrays).
I hope this helps.