Tom
You have a situation in which the tax amount can be calculated. It still
isn't necessary to save the calculated tax...
I can see a practical (i.e., quick/dirty) use of storing the tax value, but
are you prepared to bite the bullet and make sure that you've also ensured
synchronization? What should happen if an error was made in entering the
Purchase Order, and the amount is changed ...? I expect you'll want the tax
value recalculated. What if someone decides to modify the tax value ...
will the Purchase Order amount be adjusted?
Another potential solution, even if the the tax percentage changes over
time, would be to set up a TaxRate table that holds the tax rate
(percentage) between a start and end date. Then, any time the tax rate
changes, create a new row in the TaxRate table, with a begin date. EndDate
the old rate. You can still calculate a tax value, on the fly, by using the
TaxRate row valid during the time period when the Purchase Order was dated.
This, too, will require some work, so you need to decide which scenario is
more likely. Are you more likely to need to handle variable tax rates or
the possibility that amounts will be changed?
If you decide to store the tax value in your table, you'll need a field in
the table to hold it, and you'll need to bind a control on your form to that
field. That way, when the form "calculates" the tax value and is
subsequently saved, the tax value will be saved in its tax value field.