4 Replies Latest reply on Jun 16, 2010 8:35 AM by philmodjunk

    User name and time of user editing or creating new record



      User name and time of user editing or creating new record




      I would like to know how on each record can I put the  name and date of the user who edited and/or created the record.

      Using FMP11




        • 1. Re: User name and time of user editing or creating new record

          Create a date field for Date_created (or however you want to name it; I like to keep all dates sorted together, so I don't have to remember exactly what they're named). In the Options for the field, in the Auto enter tab, choose [x] Creation date (first in the drop-down list). 


          Create a text field, for Created_by. Same thing, but in the drop-down, choose either "Name" or "Account name". Name is "User name", which is set in the FileMaker Preferences (for that installation). By default it is the long OS system name of the person's account. The downside of this method is that anyone can change that on their machine, so you cannot count on it to be consistent. So it is pretty much useless for anything security related.


          The other choice, Account name, is much better. It is the "log in" account name for the file. But it means you need to set up an Account for each person, in Manage, Security (used to be "Accounts & Privileges"). 


          More or less the same for Modification, except you click Modification instead of Creation. It is going to change whenever any field in the record is modified.


          It is not however a "history" of modifications. If you want a history, you would need to use one of the "audit log" methods, of which there are a few. Generally they also capture which field was modified, and capture the old value. Which is good, but can cause the file size to grow accordingly. Unless you use Script Triggers on each field, to move the data to another file, or use a dedicated plug-in, such as fmDataGuard. (I suppose you could also run a batch operation every once in a while to clean it, or move it to another file.)

          1 of 1 people found this helpful
          • 3. Re: User name and time of user editing or creating new record

            Is there a way to do a date/time stamp in a layout that would update when the record is printed??



            • 4. Re: User name and time of user editing or creating new record

              If you want this date and time stored in a field, then only if you script it. If you just want the date and time printed to appear on the hard copy, you can place // and :: on your layout to get current date and current time to appear on your report. (In layout mode you can choose Insert | Date Symbol and Insert | Time Symbol to place this text on your layout.)


              If you use a script to print your report, you can simply use get ( CurrentDate ) , Get ( CurrentTime )  or Get ( CurrentTimeStamp ) in a set field step to log the date and time printed in a field.


              If you are using filemaker 10 or newer, you can also use an OnModeExit (Browse) script trigger along with Get ( WindowMode )  = 3 /* printing is in progress */ to trigger a script that logs the date and time. This enables you to log when a report is printed even if the user selects print from the file menu.