Hi Phoebe
Thanks for the response.
So this diagram kind of explains (I hope) what I am trying to do:

I can save the individual items in Gallery1 with the following formula, its quite complex due to the nature of the CDS.
Switch(
ThisItem.'Question Type',
'Question Type'.'Large Text',
Patch(
Collection1,
Gallery1.Selected,
{'Master Text Response': responseLargeText.Text},
{Answered: true}
),
'Question Type'.Number,
Patch(
Collection1,
Gallery1.Selected,
{'Master Numerical Response': Value(responseNumber.Text)},
{Answered: true}
),
'Question Type'.Optionset,
Patch(
Collection1,
Gallery1.Selected,
{Answered: true}
);
ClearCollect(
optionsTempCol,
responseOptionSet.Selected
);
ClearCollect(
tempOptionsCol,
Filter(
Collection2,
'Question (Response)'.'Ref Number' = ThisItem.'Ref Number',
Type = 'Type (Question Options)'.'Question Option'
)
);
ForAll(
tempOptionsCol,
UpdateIf(
Collection2,
'Question Option' in tempOptionsCol.'Question Option',
{'Is Selected': false}
)
);
If(
CountRows(optionsTempCol) > 0,
ForAll(
optionsTempCol,
UpdateIf(
Collection2,
'Question Option' in optionsTempCol.'Question Option',
{'Is Selected': true}
)
)
);
,
'Question Type'.'Multi-Select Optionset',
ForAll(
Gallery2.AllItems,
UpdateIf(
Collection2,
'Question Option' = GUID(hidRefNumber2.Text),
{'Is Selected': multiSelectCheck.Value}
)
);
Patch(
Collection1,
Gallery1.Selected,
{Answered: true}
);
);
If(
CountRows(Gallery3.AllItems) > 0,
ForAll(
Gallery3.AllItems,
UpdateIf(
Collection2,
'Question Option' = GUID(hidRefNumber.Text),
{'Is Selected': promptCheck.Value}
)
)
);
Concurrent(
Patch(
Questions,
Collection1
),
Patch(
'Question Options',
Collection2
);
);
This works great, I have to do the patch at the end as the galleries don't update from the collections.
So I am trying to do the above for ALL items in Gallery1.
So when I collect Collection1, the gallery AllItems are blank.

ThisRecord returns the control, but not the items....
Still can't get any of the Gallery2/3 items into the collection but it does work for a Listbox.SelectedItems
/* this Doesnt Work */
ForAll(
Gallery1.AllItems,
Collect(
Collection2,
resMultiSelectGallery.AllItems
)
);
/* this Works */
ForAll(
Gallery1.AllItems,
Collect(
Collection2,
Listbox.SelectedItems
)
);