Saving Control Calculated Fields To Tables

R

Roberto

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?
 
K

Klatuu

a control has to be bound to a field for the field to be updated (without
some code).

My guess is that your formula is in the control source property of the
control.
There are a couple of things you can do.
1. Move the formula to the default value property of the control. The issue
here is that if you change the value of the [gross pay] control, it will not
update the new value. The Default Value only works for new records.

2. Move the formula to the After Update event of the [gross pay] control.
With this method, the other control will update any time you change the value
in the [gross pay] control.
 
J

John W. Vinson

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]
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top