2 Replies Latest reply on Sep 11, 2011 7:12 PM by JacquiDominguez

    Locking records



      Locking records


      I know this has been asked before, and I have read the threads, but I just can't seem to find what I am looking for.  I am hoping you wise folks can help me out!

      I am designing a database for the highschool where I work.  There will be several users entering student data.  I don't know how much you all have worked with teachers, but for the most part, we are not the most computer savvy bunch.  Laughing Therefore, I need to be able to lock down records so that they don't get overwritten everytime someone enters new data.  I have already limited editing privileges to the original author of each record, so that will help.  But I am sure that as teachers start inputting data, they will forget to create a new record and write right over an older one!  Is there a way to lock the data once it has been entered, or at least (ideally) set it to display an "are you sure you want to do this?" message to clue them in that they may not want to do this?

      We are running FM 11 (I have advanced, everyone else has pro).  By the way, I am no programmer...just an educator with a wee bit more computer skills than some of the others at my school, but I am still learning. So feel free to talk to me like I am 5. Thanks so much for your help!

        • 1. Re: Locking records

          Part of the problem is that people will make mistakes and they need to be able to over-write them, so you don't want to make it impossible for them to change the record.  Also, some info may not be available until later and they will want to come back and add that data then.

          Here are some idea you could consider to see which is the best balance between convenience of use and the users' competency.  All depend on each user logging in with their account name so that in Manage -> Security you define what each group of accounts can do.

          - You could have a 'Finished?' button on the data entry screen.  When they click it it sets a field RecordLocked = Yes, and their group's security is set to not let them edit a record if RecordLocked = Yes.  You can have it that the Admin group (ie: you, at least) is allowed to edit such records, or at least you can undo the RecordLocked field to be 'No'.  You are dependent upon them clicking the button when they've completed the record.

          - You could make it that each account can only edit records created by themselves.  That stops them over-writing anyone else's records, but they could still over-write their own.  At least the more competent would be protected from the actions of the less competent...

          - We have also set up security like this where the Common Or Garden User cannot edit a record that was created more than x hours ago.  That gives them a while to sort out any admin mistakes, then it 'locks'.  They don't have to click the button, but they could still over-write the record inside the allowed time window.

          You could combine the last 2 - or all 3 - so that if they don't click the button it locks after an hour anyway, and no matter what they can't interfere with another's records.

          Sometimes if there is one field that you know is always filled last you can automatically lock the record once it's completed, but finding such a field is often difficult.

          - Another way is to mimic the data entry screen with a set of equivalent global fields, and they are really just a temporary data-capture screen.  Nothing is done with the data until they click the 'Create this record?' button you put on the screen.  Until they do there is a big warning on the screen "This data has NOT been posted to the filing system!"  Once they hit the 'Create...' button a script goes to the real data table, creates a new record, and transfers all the temporary data into a 'real' record.  Before it does you could have the script double-check that all fields are entered, they all 'look' sensible, etc.  (You can have the two screens as one, where the true data fields have their equivalent global field over the top of them so the user thinks they are entering it directly.  In use however, this has almost the same weaknesses as the first suggestion.)

          • 2. Re: Locking records

            Sorbsbuster, thank you so much!  I was able to use your suggestion and it works perfectly (and so much easier than I thought)

            I went with the "Finished?" button idea.  I had already set it up so users could only edit their own records, so between these two I think we are set!


            Thanks so much!!!