. EmployeeID, Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday.
No, you are still thinking as if you were using Excel.
Going back to the structure I posted earlier:
tblEmployee
-pkEmployeeID primary key, autonumber (used by Access to uniquely identify the record; should have no significance to the user)
-txtFname (text field to hold the first name)
-txtLName (text field to hold the last name)
-EmpIDNo (a field to hold the employee's ID number, can be text or a number field depending on your requirements)
-dteHire (date field to hold date of hire)
tblEmployeeAttendance
-pkEmpAttID primary key, autonumber
-fkEmployeeID foreign key field related back to tblEmployee (this needs to be a long integer number datatype field)
-dteAttendance (date of attendance)
-fkAttendanceTypeID foreign key to tblAttendanceType
The tblAttendanceType will hold all possible types of attendance and their corresponding points if applicable as RECORDS not fields:
tblAttendanceTypes
-pkAttendanceTypeID primary key, autonumber
-txtAttendanceType
-longPoints
Your records in the above table would include:
Vacation
Absent (ABS)
NCNS
LE (left early)
LATE
You would use a query to get the points for a time period based on
tblEmployeeAttendance.
A person can have more than one job title simultaneously
This would require a table to hold all possible job descriptions as records
tblJobDescriptions
-pkJobDescID primary key, autonumber
-txtJobDesc
Now relate the many job descriptions to the employee via this table
tblEmployeeJobDescriptions
-pkEmpJobDescID primary key, autonumber
-fkEmployeeID foreign key to tblEmployees
-fkJobDescID foreign key to tblJobDescriptions
A person will not work in more than one department at one time
That's fine but are interested in tracking people as they move from one department to another? If not then you can include the department reference in the employee table
tblEmployee
-pkEmployeeID primary key, autonumber (used by Access to uniquely identify the record; should have no significance to the user)
-txtFname (text field to hold the first name)
-txtLName (text field to hold the last name)
-EmpIDNo (a field to hold the employee's ID number, can be text or a number field depending on your requirements)
-dteHire (date field to hold date of hire)
-fkDeptID foreign key to tblDepartments
tblDepartments (holds all possible department names as records)
-pkDeptID primary key autonumber
-txtDepartmentName
Now if you do want to track the movement of employees from one dept to another, you would use this structure
tblEmployee
-pkEmployeeID primary key, autonumber (used by Access to uniquely identify the record; should have no significance to the user)
-txtFname (text field to hold the first name)
-txtLName (text field to hold the last name)
-EmpIDNo (a field to hold the employee's ID number, can be text or a number field depending on your requirements)
-dteHire (date field to hold date of hire)
tblEmployeeDept
-pkEmpDeptID primary key, autonumber
-fkEmployeeID foreign key to tblEmployee
-fkDeptID foreign key to tblDepartments
-dteEndEffective (end effective date for the employee in this dept.)
tblTotalPoints_byWeek NOT NEEDED (get using a query)
So I guess it would be best to have the 50+ tables and the one with the combined info? I'm not sure.
No, get data you need using a query from tblEmployeeAttendance