Creating a new Field from and existing field

  • Thread starter LOgle via AccessMonster.com
  • Start date
L

LOgle via AccessMonster.com

Can I create a new field in my table from a Date field that holds example
BegWkExp: 06/16/97 and then the other field has Yrs Exp: 9 I know I can use
this formula to calculate it in a form
=DateDiff("yyyy", [begwkexp], Date) but I am not sure how to just make it a
new field in the table. Can I do this??

Thanks!
 
J

Jeff Boyce

If you are using Access (a relational database), you don't need to store a
calculated field in your table. Not only would that create synchronization
issues you'd have to deal with, it takes up room you don't need to.

Instead, create a query that calculates the "Years of Experience" from the
existing date/time field.

--
Regards

Jeff Boyce
Microsoft Office/Access MVP
Microsoft IT Academy Program Mentor
 
J

John Vinson

Can I create a new field in my table from a Date field that holds example
BegWkExp: 06/16/97 and then the other field has Yrs Exp: 9 I know I can use
this formula to calculate it in a form
=DateDiff("yyyy", [begwkexp], Date) but I am not sure how to just make it a
new field in the table. Can I do this??

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.


John W. Vinson[MVP]
 
L

LOgle via AccessMonster.com

I put it on a form. Thanks!

John said:
Can I create a new field in my table from a Date field that holds example
BegWkExp: 06/16/97 and then the other field has Yrs Exp: 9 I know I can use
this formula to calculate it in a form
=DateDiff("yyyy", [begwkexp], Date) but I am not sure how to just make it a
new field in the table. Can I do this??

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.

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