2 Replies Latest reply on Aug 28, 2013 10:44 AM by CourtneyTran

    How to Create a Manual Save



      How to Create a Manual Save


           Filemaker automatically saves changes that I make in the database whenever they are made. I can close the program after making a change and then go back in with the changes intact.

           However, I do not want this. I would like Filemaker to actually ask me "Save changes?" before going on and saving whatever I have added to the program.

           The reason being, many of our users find it "psychologically frightening" when they first use the program because they do not know if their changes have been saved yet or not.

           Is this doable? How?

        • 1. Re: How to Create a Manual Save

               For databases, that autosave works really well and protects users from a lot of potential errors.

               But there are two basic approaches for managing edits and new record creation such that the data is not saved until the user clicks a save button.

               In Layout setup, theres a check box, Save record changes automatically, that can be cleared. Then the user is asked if they want to save the data whenever a commit records event occurs. A button on the layout can use Commit Records to save the data. But clicking a blank area of your layout also commits data and will trigger that dialog asking them if they want to save the data. Preventing this mouse click from doing that is a bit of a pain. You can place an invisible empty web view object on your layout, positioned and sized to cover the entire body layout part and placed behind all of your fields where users may need to enter/edit data. That object will intercept the mouse clicks and keep them from committing the record.

               Set up layouts for data entry where all the fields are global fields. To edit an existing record, you design the system so that a user must click an "edit" button to select a record and open it for editing. This script then goes to the layout with the global fields and copies the data from the selected record into corresponding global fields. A new record script would simply bring up this layout and clear the fields. A "Save" script then copies the data back to fields in the actual table to save that data. The script will need to be able to determine whether to create a new record for this data or update an existing record. You can set a value in a global field or variable when the user clicks either New or Edit that the save script can check to determine whether or not to do that. If you want to warn users that data in the global fields has not been saved, you'll need to create scripts for that purpose as well.

          • 2. Re: How to Create a Manual Save

                 I used the first approach. Thank you!