The reason being is due to the fact that nothing is changing in the Termination or Start date. The calculation will update once one of those fields has been modified.
I could be completely off base here but a possibility would be to create a global calculation field and set the calculation as Get ( CurrentDate ). Lets call it CurrentDate. Your Elapsed Year calc can then reference that field:
Elapsed Years = Case ( Termination Date = "" ; CurrentDate - Start Date) / 365.25 ; (Termination Date - Start Date) / 365.25)
This way the Elapsed Years calculation should update every day as it is referencing a field that has been updated.
Phil, I suspect you field is not "unstored" but rather "unindexed". Under the "Storage Options..." make sure that "Do not store calculation results..." is checked.
Matt's solution may actually produce the desired result, but in a very roundabout way...referencing a global field will force the calculation to be unstored. But you don't need the overhead of the global field or scripting it on start up.
Termination Date = ""
Use IsEmpty. Please.
IsEmpty( Termination Date )
Do these 2 methods not produce the same results? What is the advantage of using IsEmpty, rather than = ""?
As a mostly self-taught FMP developer (now I'm working through the Training Series and some stuff on Lynda.com, hoping to get certified in the near future), always appreciate the opportunity to learn these little nuances… and why one method is the "right way" to do something.