dezel
Following up on theme...
Have two backend databases -- call them HRPublic and HRPrivate.
In HRPublic
tblEmployeePublic
EmployeeID - primary key
EmployeeLN - last name
EmployeeFN - first name
Title
WorkLocationCode
...etc
tblAddress
AddressID - primary key
EmployeeID - foreign key to tblEmployeePublic
AddressType - business / home
Address
City
In HRPrivate
tblEmployeePrivate
EmployeeID - primary key
SSN
...etc
tblSalary
SalaryID - primary key
EmployeeID - foreign key to tblEmployeePrivate
CurrentSalary
LastSalaryRevDate
tblReview
ReviewID - primary key
EmployeeID - foreign key to tblEmployeePrivate
ReviewDate
PerformanceRank
...etc
So you have two databases. Place one in a fairly easily accessible area on the network. Place the other on the network but use the network security to restrict access to specific users.
...Not quite there yet.
You need to develop the frontend database(s). The frontend does two things. The frontend contains the forms, reports and queries and links to the data tables on the backend databases. It also controls the "views".
You can do this two ways...
Regular employees have one front end that does not link to the private table. The managers would get a different front end database that links to both tables in each database.
A better way would to have the frontend database link to both tables but to use security and code to control views.
YouAsked said:
So what trick can we use to write data to two tables?
Actaully you do not want to do this. Note in the example presented, EmployeeID is used to link between tblEmployeePrivate and Public. The employee name is located in the public table and there is no real reason to "duplicate" the name in the private database.
If you want to have multiple copies of the database, then look at replication (an advanced topic), or better yet, using a Citrix or Terminal server solution.
Richard