I want to create a calculator that does not save or update the underlying spreadsheet

Hi Community!

I want to create a calculator that does not save data back to the original spreadsheet. The calculator will be used by users to see the quote price based on specific values they input. The quote price will then be used by the users in a physical paper.

Is there a way to create a form that does not save/update the underlying data? I have tried using virtual columns, but I am not sure if this solves my problems.

Guidance will be highly appreciated!

AppSheet does not really have a “scratchpad” type of view. However, there is a workaround.

In the Form view, there is a “Row Key” property (see image below) that will load the same row each time the Form loads. You would create a table with a single row in it and then use that table for your Form view setting the “Row Key” value for that single row. Then set all pertinent table columns shown on the Form to “Reset on Edit” so the Form loads each time to the Initial values - i.e. as a new blank Form. Lastly, you can set the Localize setting for “Save” to show something like “Done” instead.

Behind the scenes, when a user taps “Done” the row is actually saved with whatever values the user had set. But next time they load the form, the “Reset on Edit” settings will kick in using the Initial values.

I hope this makes sense and helps. If you have questions, just post back.

1 Like

Nope.

1 Like

Thank you for the response! One quick follow up: If I have multiple users using the app the same time, is there a possibility that the app will crash or just not work?

Yes, especially if it is in the test version - some data may not be loaded.

I’m sorry @Pepe I have to disagree with your comment.

Using the technique I described should NOT cause an issue for multiple users using the app at the same time. This is what the AppSheet platform is designed for.

It is true, that the SAME single row in the table will be updated multiple times by different users with different values. But this single row is simply a place-holder and although it may be updated by multiple users with differing values AND potentially that updated row could be pulled down to another users device with a Sync, if the Column definitions are updated correctly with Initial Values and “Reset on Edit” flags set, Users will NEVER see those other values entered by other users.

However, if you have any data privacy concerns at all, you can add a placeholder row for each user (i.e. add an Email column in the table to identify the user specific row by their login email). The “Row Key” property in the Form view can use an expression to identify the correct row key. You would need to get creative to ADD the user specific placeholder rows - either add the row manually when you add a new user to the app OR you can create a Group action to launch the “calculator” Form. It would check first if there is a row in the table, add one if not and then launch the Form.

1 Like