if it is really saving youre calculation again then it is changed!!
So the calculation is out of synch with what’s stored in the database!!
And it only calculates the records that you get from the database. It doesn’t do this by itself..
So when a record is loaded. It checks for the calculations of that record IF a calculation value that is returned is different that the value that did came from the database it will store this yes.
If youre solution really takes very long to open that this means 2 things. One many calculations are out of synch with the database. And you load lots of records with the first form (of course this could be possible, i would avoid this if i was you because this gives a lag in user experience)