If I understand the situation you decribe ...
The static information about the employee, which doesn't change frequently,
should be in one table, maybe called Employees. The assignment information,
which changes frequently, should be in another table (maybe called
Assignments), which is linked to the Employees table by a common key field
(EmployeeID, or some such). There would be a one-to-many relationship
between Employees and Assignments.
As I understand it, you need to preserve the history of changes to each
employee's assignments. Therefore, your Assignments table needs to contain
a date/time field (maybe called WhenAssigned), and you have to do some
special coding on a form to ensure that, rather than modifying an employee's
current assignment record, you create a new one whenever you change the
assignment. Your code might automatically populate that record initially
with the latest values for that employee, so that you only need to update
the fields that have changed.
When that record is saved, you would set the WhenAssigned field to the value
of the function Now(), which gives the current date and time. That way, a
query can pull the latest record for each employee, thus allowing you to
view and report the current assignments.
All of this is quite doable; however, coding to always create new assignment
records rather than modifying existing ones could be a little tricky.
--
Dirk Goldgar, MS Access MVP
www.datagnostics.com
(please reply to the newsgroup)