There are two alternatives to this approach that you can consider.
IF this data is rarely if ever modified, you can use an auto-enter calculation to copy data from the preceding record into fields of the current record. your calculation would then compute a value from this copied data. This "breaks the chain" of referring to a record, that then must refer to a record which must then refer to yet another record... in order to compute a value, but also opens the door to potential update issues so consider carefully.
You can also use a relationship to refer to the ID -1 record (which is better than what you have here, as a found set may not always have the ID-1 record as the preceding record in your found set and then what you get will not be the expected result.) This is a better way to refer to the data, but I suspect that you'll have similar update delays unless you copy data from the preceding record as described in the preceding paragraph.
Thanks Phil, will try both approaches to see which works best for my solution.
Hey Phil, Thanks again, your suggestion lead me to use a script to define the content of the fields using the calculation as defined earlier. It works very fast, seconds; am happy !!!