Thanks for the help! I'm still trying to figure out how exactly to normalize
this db however. The end result is to get all pay raises for last year &
current year for all employees. The problem is field 4 may be the pay raise
for employee A34 since she has been there for 4 years. Yet for employee A32
field 2 is their current pay raise since the employee has been there for only
2 years. Does that make sense?
It makes sense in a business context - but it emphatically does NOT in
a database context.
"Fields are expensive, records are cheap" is an old saying, I wish I
knew whose so I could thank them! You should *not* store multiple
raises in the same record, in fact you should not store them in the
employee table AT ALL.
Instead, you should have TWO tables, in a one to many relationship: an
Employees table, and a PayrollChanges table. The PayrollChanges table
would have (at least) three fields - the employeeID as a link to the
Employees table; the ChangeDate; and the new Salary (you might also
have fields for comments or for the performance review result).
This would let you keep a complete salary adjustment history for each
employee; you could then easily use a query with a date range such as
= DateAdd("yyyy", -2, Date())
to get all the raises in the past two years.
John W. Vinson[MVP]