Recalculate Field not always automatic


#1

A database named “A” with a field ID contains other fields which have a relation to corresponding fields in another db named “B”, i. e. their values in “A” need to be looked up in “B” from the records with the same ID there. I found that this is NOT always done automatically, when I expected it, e. g.

  • when importing records into “A” with only the set of fields filled, which need not bee looked up in “B”
  • when creating a new record in “A”, to which a new ID is automatically assigned
    The only way for updating I found is to execute “Field --> Morph --> Recalculate Field” for every affected field, which is a bit cumbersome when there are several.
    Would it not make sense to maybe at least offer some “recalculate field” button in the field properties panel, or a context menu to recalculate an entire record at once, or even the entire database?

#2

What you are describing is the documented way that automatic calculations work.

Panorama runs the automatic calculations any time data is entered manually, but it doesn’t update the calculation when the formula is changed, or if data is changed some other way (for example by importing or using the Morph dialog. In those situations, use the Field>Morph>Recalculate Field command to re-run the formula for every selected record in the database.

The quote above is from the Recalculating an Entire Column section of this help page.

if you wanted to automate recalculation for several fields, you could write a short program using the recalculatefield statement, for example:

field Quantity
recalculatefield
field Tax
recalculatefield
field Total
recalculatefield

If you like, you can easily set up a command-key equivalent so that this program can be triggered with a key combination, no mouse click needed.

If you haven’t ever written a Panorama program before, it’s very easy. I suggest starting with this tutorial page: