Hello I have multiple users editing the same...

references
(Phil Renda) #1

Hello

I have multiple users editing the same row at the same time but in different columns via an Action.

Each column has someone’s name and each row is an item. The Action places a “1” in the user’s respective column when executed. The problem I am having is that unless everyone syncs, it overwrites everyone else’s column with blanks.

Any ideas for a workaround?

(Tony Fader) #2

@Phil_Renda This article explains the issue that you’re running into: help.appsheet.com - Concurrent Usage with Multiple Users

Another problem that you didn’t mention is: what happens if you need to change your users? You’ll have to go edit your column structure of your app every time, which could get complicated.

I’d recommend creating two tables (Items and UserItems) where UserItems has a reference column pointing to Items. That way, each Item will have a list of associated UserItems rows, which are added/edited independently of each other. As an added benefit, you won’t have to change your column structure if your users change.

https://help.appsheet.com/data/references/references-between-tables

Example of references here: https://www.appsheet.com/samples/An-app-for-managing-customers-products-and-orders?appGuidString=245700e5-9061-4045-843f-7850b5eb439a Concurrent Usage with Multiple Users help.appsheet.com

(Phil Renda) #3

agreed on the two table alteration, I will get there eventually but it requires a multi-month overhaul. Currently I have an Action that is checking the USEREMAIL and letting a particular user edit a column. This required me to make an Action for each user. I am just confused if this action is specifically only setting a particular column & row to “1”, why it would override the entire row. I may try to

lock down the columns on the Google sheet to particular email but I was hoping there was a better workaround

(Steven Coile) #4

@Phil_Renda When the user updates a column, the app updates the column in that row on the device, then sends the entire updated row when a sync occurs. The server isn’t told what columns were updated, just that the row contains a change. Likewise, entire rows are sent out to other user devices when they sync.