Prevent or warn when different users are editing the same row on the same time

Hi appsheet community,

On monday we will work with many users to capture data in a table.
When a user registers his inputs, but is not syncing immediately. Other users can’t see his inputs, what could cause double work or someone who’s deleting others their work.

Is there a way how I can disable to edit the row where an other user is currently editing on?
Or can I make a show column to warn that an other collegue is working on that row?

Thx
Bram

0 8 959
8 REPLIES 8

LeventK
Participant V

@Diogenes_ASBL_VZW
Unfortunately there’s no robust way to provide that kinda warning because you can never know.

I’ve tried with a virtual show column to put up a warning:

From the moment the first column has an entry that it would trigger this virtual show column to show for all off the users.
But it seems only to show for the others when the row has been registered.

Thx a lot …
Bram

As @LeventK described, it’s not possible. Have you thought to use Parent & Child structure where the parent is the main record and all user would add a child record. Then you would not be in that situation.

Hi Aleksi … thx for that suggestion.
I haven’t thought about that.
Is there an article that could give me some insight in the parent & child stucture?

Thx a lot,
Bram

Steve
Participant V

What you want is not possible with AppSheet.

With AppSheet, each user’s device has its own copy of the data. When the user makes changes, those changes are made against the copy of the data that exists on their device. When the device syncs, changes made to the device copy are shared with AppSheet servers, which then makes those changes available to other users. But even then, other users won’t see those changes until they also sync, which pulls those changes down into the device copy.

The following doc discusses the process in more detail:

I'm also looking for a way to prevent users from editing the same row. The only way I can think about is:

Change the Edit Action to a grouped Action:
1. Write the UserEmail() in a column called [Editor]
2. Open the Form to edit
Form's saved event: Clear the column [Editor]

When a user opens the form and hits CANCEL, you also need to use a bot that clears the column [Editor] after let's say 15 seconds. 

AppSheet can make a background sync every 30 Minutes. This is the case when you don't use the App. But when you make changes in the App, the app will send your changes and receive the data from the other users. In my experience, this will take about 15 seconds. That's why my workaround doesn't make sense 🙂

Any ideas?
@Steve @MultiTech @Suvrutt_Gurjar @Koichi_Tsuji 


@Fabian_Weller wrote:

I'm also looking for a way to prevent users from editing the same row. 


It's simply not possible. AppSheet's fundamental design prevents it.

Top Labels in this Space