Create uniqueid table for multiple save of events

I have created an app that has a source table (goglesheet) and I have created forms to gather data from users. Currently the user inputs are saved as UPDATE in the same table, so when ever someone saves something, it is overwritten in the current table, in place of the what was already there.
I would like to save each instance as unique in another Sheet-Table, without having to change the current setup.
Please help.


So you want a user form to both overwrite a row in the current table and create a new row ina second table?

Hi Steve
Thank you very much for taking the time to look into the question.
I would prefer to have both, current table and second table for the current table will have the latest status and second table will have all status-changes over period of time.

Or we can only have database data, that does not change in Current table and in second table have static data from current table and user inputs data as well, but for every instance it is saved and not just update

1 Like

Can you provide a little better idea what the app is for so I can better understand exactly what you’re going for?

The app is collecting user inputs over 2200 records and have Status and problem(s) to report on a given date. There are 2 sets of records (currently sliced) with each set having its own form with its own status and problems.
As of now, I am able to get user inputs and these inputs are Updated when saved in the same data sheet (current table) as the database. So everytime some one enters the data, the old data is overwritten.

I would like to save each input as separate instance in rows one below the other

1 Like


1 Like

Okay, so what I think is going on…

You have some sort of registry of things currently recorded in a single worksheet within a single spreadsheet. Your app is attached to that single worksheet by a single table. You have two slices on top of that single table to differentiate two distinct subsets of data. Each of these data subsets has its own set of views and input choices. That table is and/or the slices are either explicitly configured to allow only updates and not adds or deletes, or the app is constructed in such way that users can only edit existing rows but have no means to add or delete rows.

Currently, updates to the table overwrite existing data, which leads to a loss of historical data. You want to maintain a record of the historical data as well, while also presenting a view of the current state of things.

I would suggest this model:

  1. Users will never add, modify, or delete rows of the first table. Users will only be able to view the first table. The first table is strictly for reference.

  2. All user changes are recorded as new rows in a second table. This table will provide the historical record.

  3. Workflow rules within your app will propagate the changes described by the rows added to the second table to the current status recorded in the first table.

For instance, if the user repaired something that was previously broken, the row in the second table would note the thing, that it was repaired, and the timestamp. A workflow would see the new row added to the second table, would locate the row in the first table that corresponds to the thing, would adjust the thing’s current status to reflect the repair (e.g., set it to Repaired or In Service), and would update the thing’s timestamp.

That is perfect, how do I achieve this now is the question. I have created 2nd table, just like column headings of the first table except now it has UniqueID, I added a Timestamp column as well.

How do I get already submitted inputs by users in this table?
How do I get all the new inputs to both the current table and 2nd table?
What are the expressions to be written in current and 2nd table and someone collaborate with me on the app to do this in the App?

The specifics are beyond what I’m willing to help with. Perhaps @LeventK might be willing to engage you on your project, or another AppSheet partner.

Hi ABBA, Where you able to do this? and if so how?