The Row Number messages are warnings, I think eventually they may go away.
One of the main reasons why Row Number as a key is not a good idea is because it is not guaranteed each row will get the same row number each time the app loads.
To avoid this is simple. Add an ID column to each table and set the Initial Value to “UNIQUEID()” (the expression may even auto-populate for you when you re-gen the table). As each row is added it will get a unique identifier assigned. Set the ID column as the key.
To update rows already in the tables you can do one of two things:
- Just update the ID column with a sequential number - 1 for the first row, 2 for the second, etc
- Temporarily assign the UNIQUEID() expression to the App Formula of the ID column. Enter each row in Edit mode and simply save. This will assign the unique identifier. When done updating all rows, switch the UNIQUEID() function back to the Initial Value expression.
Generating the Report at the End of the Day
There are a few options.
By far, the simplest is to use the Report feature in AppSheet. It is much like Workflows. You can schedule the report to be generated each day at a scheduled time. For example, you could schedule a report to be run at 7 PM when most likely no one is entering more information.
Would that work for you?