Phát triển HTTT kế toán bằng MS Access - Chương 10 - Bảng sử dụng lao động Labor Acquisition
James Perry, Richard Newmark
Chương
10
Qui trình nhân sự
Bảng sử dụng lao động Labor Acquisition
Trong
phần này, bạn sẽ học cách tạo bảng chấm công để lưu số giờ trong và ngoài giờ
làm việc cho từng nhân viên theo từng chu kỳ trả lương. Ta giả định hai điều
quan trọng: Pipefitters tính lương theo giờ, và họ trả lương cho mọi nhân viên
mỗi tháng một lần bằng một chi phiếu.
Bạn
sẽ cần một khóa chính để nhận diện duy nhất thời gian đã làm việc của từng nhân
viên trong từng chu kỳ trả lương. Pipefitters dùng phiếu chấm công để ghi nhận
thời gian đã làm việc của nhân viên và các phiếu chấm công được đánh số tuần tự
bằng năm chữ số; bạn sẽ dùng mã phiếu chấm công làm khóa chính.
Có
các cách khác để tạo khóa chính cho bảng sử dụng lao động Labor Acquisition. Vì
Pipefitters đã có mã nhân viên cho từng nhân viên và mỗi nhân viên có một bản
ghi duy nhất cho từng chu kỳ trả lương, bạn có thể tạo khóa chính phức hợp gồm
trường mã nhân viên và trường chu kỳ trả lương để nhận diện duy nhất từng bản
ghi trả lương. Tuy nhiên, mã phiếu chấm công được chọn vì việc có các tài liệu
được đánh số tuần tự là có thêm một kiểm soát. Các phiếu chấm công cho một chu
kỳ trả lương bất kỳ không được nhảy cóc, phiếu chấm công đầu tiên cho chu kỳ trả
lương tiếp theo phải là số tiếp theo. Có thể truy vấn để kiểm tra các phiếu chấm
công có vi phạm qui định này không – để chứng tỏ đã có sai sót hay bất
thường.
Bảng
sử dụng lao động Labor Acquisition còn chứa hai trường để lưu số giờ đã làm việc
– một trường lưu số giờ làm việc trong giờ, một trường lưu số giờ làm việc ngoài
giờ. Pipefitters chỉ dùng một hệ số để tính lương ngoài giờ, gấp 1.5 lần lương
trong giờ. Hơn nữa, bạn có thể giả định rằng quản lý viên của Pipefitters khi
nhập dữ liệu vào bảng này, họ đã tính trước số giờ trong và ngoài giờ của nhân
viên từ phiếu chấm công.
Trong
Bài tập 10.11 bạn sẽ tạo bảng sử dụng lao động Labor Acquisition cho Pipefitters
Supply Company. Bảng sử dụng lao động Labor Acquisition còn minh họa một số đặc
trưng kiểm soát nội bộ giúp giảm lỗi và các bất thường khi Pipefitters xử lý
việc trả lương.
BÀI
TẬP 10.11: TẠO BẢNG SỬ DỤNG LAO ĐỘNG LABOR ACQUISITION
1.
Tạo bảng mới bằng cách dùng Table Design trên
dải lệnh Create. Đặt tên trường đầu tiên
là TimeCardID, khóa chính. Để Data Type
là Short Text và đặt Field Size
bằng 5. Nhập Input Mask
là 00000;0;_ và đặt Caption
là Time Card #. Đặt thuộc tính Required
là Yes, Allow Zero Length là No, đặt
thuộc tính Indexed là Yes (No Duplicates), rồi
kích Primary Key trong nhóm Tools.
2.
Thêm năm trường còn lại và các thuộc tính được liệt kê ở Hình 10.12.
Để
ý rằng EmployeeID và EmployeeSupervisorID đều là khóa ngoại
từ tblEmployee. Như được minh họa ở Hình 10.6, EmployeeID là
liên kết đến nhân viên làm tác nhân ngoại trong tblEmployee,
trong khi EmployeeSupervisorID là liên kết tham gia nội
giữa tblLaborAcquisition và tblEmployee.
Hơn nữa LAPayPeriodEnded được lập chỉ mục indexed để giúp các truy vấn trên chu
kỳ trả lương pay period được nhanh hơn. Cuối cùng, qui tắc kiểm tra hợp lệ cho
số giờ đã làm trong và ngoài giờ không chỉ ngăn việc nhập số giờ lớn hơn giá trị
cho phép (185 = 23 ngày x 8 giờ mỗi ngày với thời gian trong giờ; và 200 giờ
ngoài giờ là chính sách của công ty), qui tắc kiểm tra hợp lệ còn ngăn quản trị
viên tình cờ nhập số âm.
Hình 10.12 Các khóa ngoại và thuộc tính
cho tblLaborAcquisition.
3.
Lưu file. Đặt tên là tblLaborAcquisition. Đóng bảng.
4.
Nhập liệu từ Ch10.xlsx Excel file vào tblLaborAcquisition.
Kích Excel trong nhóm Import & Link trên
dải lệnh External Data. Kích
nút Browse để định
vị Ch10.xlsx. Kích kép Ch10.xlsx.
5.
Kích nút radio tùy chọn thứ hai Append a copy of records to the
table: Chọn tblLaborAcquisition từ
combo box. Kích OK.
6.
Trong hộp thoại kế, làm nổi bật
worksheet tblLaborAcquisition.
Kích Next hai lần.
7.
Trong hộp thoại cuối, tblLaborAcquisition cần
đã được nhập vào ô Table:. Kích Finish.
Mở tblLaborAcquisition ở góc nhìn Datasheet để
kiểm chứng có tất cả 143 bản ghi đã được nhập vào cơ sở dữ liệu (xem Hình
10.13).
Hình
10.13 tblLaborAcquisition ở góc nhìn
Datasheet.
Hình
10.6 cho thấy có hai liên kết giữa bảng sử dụng lao động Labor Acquisition và
bảng nhân viên Employee của Pipefitters Supply Company. Cả hai khóa ngoại
trong tblLaborAcquisition, EmployeeID và
EmployeeSupervisorID đều liên kết với EmployeeID
trong tblEmployee. Trong bài tập kế, bạn sẽ áp dụng tính
toàn vẹn tham chiếu lên các liên kết này để ngăn người dùng nhập thời gian đã
làm việc cho mã nhân viên không tồn tại trong tblEmployee.
Đặc trưng kiểm soát nội bộ này, thường được gọi là kiểm tra
tồn tại (existence check) hay kiểm tra
hợp lệ (validity check), có thể giảm sai sót và bất thường
khi xử lý việc trả lương. Bài tập 10.12 nhắc lại việc tạo đặc trưng kiểm soát
này. Nhớ đóng tblLaborAcquisition trước khi làm
bài tập.
BÀI
TẬP 10.12: LIÊN
KẾT TBLLABORACQUISITION VỚI TBLEMPLOYEE
1.
Trên dải lệnh Database Tools,
kích Relationships trong nhóm Show/Hide rồi thu
gọn Navigation Pane.
2.
Thêm tblLaborAcquisition vào cửa sổ
Relationship. Kích Show Table trong nhóm
Relationships; kích kép tblLaborAcquisition; rồi
kích Close.
3.
Định cỡ lại bảng tblLaborAcquisition để hiển
thị toàn bộ tên bảng và tất cả các thuộc tính. Dời bảng đến giữa cửa sổ
Relationship để nhất quán với định dạng mô hình tài nguyên, biến cố, và tác nhân
(REA). Tham khảo Hình 10.14.
Hình 10.14 Cửa sổ Relationship trước và sau khi thêm
liên kết thứ hai
giữa tblEmployee và tblLaborAcquisition.
4.
Tạo liên kết đầu tiên giữa các bảng. Kéo khóa chính ở
bảng tblEmployee đến khóa ngoại tương ứng,
EmployeeID, trong tblLaborAcquisition.
5.
Sau khi bạn kích và kéo khóa chính đến khóa ngoại cửa sổ Edit Relationships xuất
hiện. Đảm bảo rằng các thuộc tính đúng xuất hiện trong các bảng bạn đã kéo từ và
kéo đến. Kiểu quan hệ ở đáy hộp thoại phải luôn là one-to-many. Đánh
dấu Enforce Referential
Integrity và Cascade Update Related Fields.
Cuối cùng, kích Create trong hộp thoại.
6.
Lặp lại các Bước 4 và 5, thay EmployeeID bằng EmployeeSupervisorID
trong tblLaborAcquisition. Để ý hộp thoại ở Hình 10.14 xuất
hiện khi bạn thử quan hệ thứ hai trên cùng hai bảng.
Kích No để tạo quan hệ thứ hai. Cũng để ý là
Access phát sinh một danh sách trường thứ hai
cho tblEmployee thay vì hiển thị cả hai liên
kết quan hệ giữa danh sách
trường tblLaborAcquisition và danh sách
trường tblEmployee. Khi hoàn thành cửa sổ Relationship của
bạn cần giống Hình 10.14.
7.
Đóng cửa sổ Relationship rồi kích Yes trong hộp
thoại để lưu các thay đổi.



0 nhận xét