Button in table A, modifying rows in table B. Which rows to modify are listed in a column in table A

Bit hard to explain so have made a toy version, embedded below.

I have a People table, with a Message column that I want to write a test message into.

I have a Groups table, with a multi-select lookup of people, and a button to modifyRows on any rows listed in my lookup column. It works when there’s only one person in the lookup, but not when there are multiple people.

Thoughts on how to manage this? Is it that modifyRows is expecting a row, and it’s instead getting a list of rows (in the multiple people scenario)? If so, how do I feed it a row at a time? (I thought it could handle multiple rows though - e.g. I’ve fed it filtered tables before I think)

Hi @Nick_HE,
Can you see if this works for you -

ModifyRows(Filter(People,[Group Members].Name.Contains(Name)), People.Message, “Hello”)

Yep, this works!

It makes me uncomfortable to be doing it based on the person’s name though, instead of a comparison of the actual row objects. For example, if I add another person named Francesca, Francesca II gets the message also, because Name is not a reliably unique ID.

My next thought was to use rowID in place of name. From what I can tell, in order to do this, I have to first create a column in people called myRowID, with formula thisRow.rowID().

So now this also works, and should be more reliable:

ModifyRows(
  Filter(
    People,
    [Group Members].myRowID.Contains(myRowID)
  ),
  People.Message,
  “Hello”
)

But yeah, if you can think of a syntax that compares the rows with one another directly, that feels more intuitive and resilient.