Confused by Auto-enter Calculation options
I've been trying to understand under what conditions an auto-enter calculation takes effect, and I'm confused. I found a FileMaker document "Defining automatic data entry" here, which says:
The value is calculated when you create a record, or when one of the referenced fields changes and the destination field is empty. However, if you select Do not evaluate if all referenced fields are empty in the Specify Calculation dialog box, the value isn't calculated when you create a record and all fields referenced by the calculation are empty. Instead, the value is calculated when one of the referenced fields contains a value.
I'm very confused by the English there, so I've tried to re-word it, as follows:
When a new record is created, the auto-entry occurs (ie the calculation is evaluated and the result is filled in). However, if Do not evaluate if all referenced fields are empty is selected (this is the default), when a new record is created, the auto-entry will only occur if one or more of the fields referenced by the calculation contains a value. The auto-entry will also occur whenever one of the fields referenced by the calculation changes, as long as the destination field is empty.
Have I got this straight now? It still doesn't seem to quite match up with what I see.
What I'm actually trying to do is add some basic metadata fields to a table in my database, with auto-enter options set to record a modification timestamp and so on. I want to record the value from Get(SystemNICAddress) too, and I need to use the auto-enter "Calculated value" option to do that. I've followed some instructions in the "FileMaker Pro 10 Bible" by Ray Cologon (page 620) on how to do this (and some similar instructions are given here), and it works, but I don't understand one part of the solution. It's good that it works, but I'm a bit frustrated by my incomplete understanding.
The instructions say to set up the auto-enter calculation to be:
If (_modifiedTimestamp; Get(SystemNICAddress)
I don't understand why the "if" and the reference to _modifiedTimestamp are necessary (_modifiedTimestamp is another field I've added, with the more basic auto-enter "Modification:Timestamp" option). I was expecting the calculation to be simply "Get(SystemNICAddress)". But if I use that, the field doesn't seem to be updated when the record is modified.
Also, I'm confused by the possible options in the auto-entry dialog box. Cologon (page 216) explains that two of the first seven options can be selected: one of the first five, and/or one of the last two, and this seems to be correct, but I don't understand what the expected behaviour is if, say I turn on both Modification:Date and also Calculated Value. I was expecting that this might cause the Calculated Value to take effect on record modification, but that doesn't seem to be true.
Can anyone point me to some documentation which defines what the various possible combinations of options in the auto-enter dialog box actually do? Ie, for each combination, under what exact conditions will the auto-entry occur, and what value will be auto-entered?
Thanks for any help... Ashley (Confused of Coventry, UK).