Saving Control Calculated Fields To Tables

  • Follow


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?
0
Reply Utf 12/6/2007 8:13:02 PM

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.



-- 
Dave Hargis, Microsoft Access MVP


"Roberto" wrote:

> 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?
0
Reply Utf 12/6/2007 8:27:03 PM


On Thu, 6 Dec 2007 12:13:02 -0800, Roberto <Roberto@discussions.microsoft.com>
wrote:

>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]
0
Reply John 12/6/2007 11:23:28 PM

2 Replies
1320 Views

(page loaded in 0.047 seconds)

Similiar Articles:
















7/21/2012 6:10:51 PM


Reply: