I'm trying to save the calculated result of a control "=[grossPay]*.062" into
a table. The form will only save bound user-entered fields to the table. I
would like to have all of the data, even calculated fields saved to the
table. Is there a way to save unbound form fields to a table?
Storing derived data such as this in your table accomplishes
three things: it wastes disk space; it wastes time (almost
any calculation will be MUCH faster than a disk fetch); and
most importantly, it risks data corruption. If one of the
underlying fields is subsequently edited, you will have data
in your table WHICH IS WRONG, and no automatic way to detect
that fact.
Just redo the calculation whenever you need it, either as a
calculated field in a Query or just as you're now doing it -
in the control source of a Form or a Report textbox.
If you want to store this calculated result, KNOWING THAT IT WILL BE WRONG at
any point that either the stored value or the grosspay gets edited, use the
Form's BeforeUpdate event to copy the value from the calculated control into a
bound control. Don't call me in as a witness when your employee sues you for
witholding the wrong amount of tax though, that's *your* problem.
John W. Vinson [MVP]