@helpmee
First, I see that you have the ID defined in your initial collection, but are not updating that at any point later, so even if your Patch works, it will be creating new records for everything.
Your OnChange formula is a bit of an overkill in that you are duplicating the record - just a lot of typing and maintenance later on.
And finally, you are also then duplicating all of your gallery data into yet another collection/table. The Gallery already is a table - you can use that.
What I would recommend is the following. Use a collection only to keep track of what record is changed and get rid of all the rest.
So, your OnStart formula for the collection can all go away and then your OnChange formula would simply become: Collect(colResponse, ThisItem.ID)
Then finally, your Patch would become this:
Patch('xxxx Entries',
ForAll(Distinct(colResponse, Value),
With(LookUp(yourGallery.AllItems, ID=Result),
{ID: ID,
xxxx: DataCardValue45_1.Text,
Damage: DataCardValue46_1.SelectedItems.'xxx',
...etc...
}
)
)
);
Clear(colResponse)
Now, with that, if you still have a Patch error that shows "expecting a record", then the names of your columns are not correct. The names need to be the exact "real names" of the columns. If you have renamed any columns, you will need to get the original name of the column (as you can never rename a column) and use that.
After that it should all work fine.
I hope this is helpful for you.