▲ 3 r/PowerApps
Update a Table() collection with values from another collection?
Problem:
I have a collection that is a table with values:
ClearCollect(
colFieldTemplate,
Table(
{FIELD_ID: 1, FIELD_SLOT:"REF_STR1", FIELD_TYPE:"STRING", FIELD_LABEL:"", ENABLE:false, MANDATORY_FLG: false},
{FIELD_ID: 2, FIELD_SLOT:"REF_STR2", FIELD_TYPE:"STRING", FIELD_LABEL:"", ENABLE:false, MANDATORY_FLG: false},
{FIELD_ID: 3, FIELD_SLOT:"REF_STR3", FIELD_TYPE:"STRING", FIELD_LABEL:"", ENABLE:false, MANDATORY_FLG: false},
{FIELD_ID: 4, FIELD_SLOT:"REF_STR4", FIELD_TYPE:"STRING", FIELD_LABEL:"", ENABLE:false, MANDATORY_FLG: false}
)
);
I then have a SQL table with some data:
| INPUT_ID | FIELD_ID | FIELD_SLOT | FIELD_TYPE | FIELD_LABEL |
|---|---|---|---|---|
| 1 | 1 | REF_STR1 | STRING | TEST |
| 1 | 2 | REF_STR2 | STRING | TEST2 |
| 1 | 3 | REF_STR3 | STRING | TEST3 |
Now, on a button press, I want to update my colFieldTemplate with data from my SQL table - especially "FIELD_LABEL".
ClearCollect(
colInputSetup,
Filter(
MyTable,
INPUT_ID = Value(drp_setup_input.Selected.INPUT_ID)
)
);
ForAll(
colInputSetup,
Patch(
colFieldTemplate,
LookUp(
colFieldTemplate,
FIELD_SLOT = ThisRecord.FIELD_SLOT
),
{
ENABLE: true,
FIELD_LABEL: ThisRecord.FIELD_LABEL
}
)
)
When doing this, the LAST SQL record (FIELD_ID = 3, TEST3) is set as FIELD_ID = 1 in my gallery. It always seems to grab the last record and put that in FIELD_ID = 1, regardless. Nothing else is updated. Why is only one template record (the first one) being updated (with the last SQL item) - but not the rest?
How can I, in the most efficient way possible, update an existing table() collection with some new values from a SQL query?
u/LarryWinters69 — 4 days ago