Phát triển HTTT kế toán bằng MS Access - Chương 10 - Form nhập thời gian đã làm việc
James Perry, Richard Newmark
Chương
10
Qui trình nhân sự
Form nhập thời gian đã làm việc
Bạn
có thể tạo form nhập liệu cho bảng sử dụng lao động Labor Acquisition nhằm hỗ
trợ việc nhập thời gian làm việc của nhân viên. Form nhập thời gian làm việc sẽ
dùng các trường tên nhân viên từ bảng nhân viên Employee nhằm cung cấp thêm một
kiểm tra hợp lệ giúp nhân viên nhập liệu phát hiện lỗi. Bạn sẽ thiết kế form
nhập thời gian làm việc để hiển thị tên nhân viên khi người dùng nhập mã nhân
viên. Điều này cho phép người dùng kiểm tra tên hiển thị so với tên nhân viên
trên phiếu chấm công. Ở Bài tập 10.13 bạn sẽ tạo một truy vấn để ghép
EmployeeFirstName, EmployeeMiddleInitial, và EmployeeLastName, dùng trong Bài
tập 10.14 nhằm tạo form nhập thời gian làm việc chứa đặc trưng kiểm soát
này.
BÀI
TẬP 10.13: TẠO TRUY VẤN GHÉP CÁC TRƯỜNG TÊN NHÂN VIÊN
1.
Kích Create tab rồi kích Query Design trong
nhóm Queries. Thêm tblEmployee vào Table Pane.
Đó là bảng duy nhất bạn cần cho truy vấn này.
2.
Kích kép EmployeeID trong danh sách trường
tblEmployee để thêm nó vào Criteria Pane.
3.
Di chuyển con trỏ đến ô Field ở cột kế trên Criteria Pane; kích phải để hiển thị
shortcut menu rồi chọn Zoom. Ô Zoom cho phép bạn thấy mọi
thứ bạn nhập vào ô Field. Nhập EmployeeName: EmployeeFirstName
& " " & EmployeeMiddleInitial & ". " &
EmployeeLastName vào ô Zoom.
Kích OK để đóng ô Zoom.
4.
Kích Property Sheet trong nhóm Show/Hide.
Gõ Name vào ô thuộc tính Caption.
5.
Lưu truy vấn với tên qryEmployeeName. Thi hành truy vấn. Sau
khi điều chỉnh độ rộng cột cho EmployeeName, kết quả truy vấn của bạn cần giống
Hình 10.15. Đóng truy vấn.
Hình
10.15 qryEmployeeName ở góc nhìn
Datasheet.
BÀI
TẬP 10.14: TẠO FORM NHẬP THÔNG TIN SỬ DỤNG LAO ĐỘNG
1.
Kích tblLaborAcquisition trong nhóm Unassigned
Objects thuộc Navigation Pane. Kích Create tab
rồi kích Form Wizard trong nhóm Forms. Hộp
thoại Form Wizard đầu tiên xuất hiện.
2.
Kích nút >> để chuyển tất cả các trường
thuộc tblLaborAcquisition sang khung Selected
Fields.
3.
Chọn Query: qryEmployeeName từ Tables/Queries
combo box. Kích EmployeeID trong khung Selected
Fields để thêm EmployeeName ngay bên dưới nó. Kích
kép EmployeeName trong khung Available Fields
để thêm nó vào các mục được chọn. Kích nút Next.
4.
Kích Next lần nữa để chấp nhận việc mặc định
xem dữ liệu theo tblLaborAcquisition.
5.
Chọn Tabular rồi kích Next.
Đặt tên form là frmLaborAcquisition.
6.
Kích nút Finish để xem form ở góc nhìn Form. Nó
cần giống Hình 10.16.
Hình
10.16 frmLaborAcquisition ở góc nhìn Form sau
khi dùng Form Wizard.
BÀI
TẬP 10.15 CẢI THIỆN FORM NHẬP THÔNG TIN SỬ DỤNG LAO ĐỘNG DO WIZARD PHÁT
SINH
1.
Mở frmLaborAcquisition ở góc nhìn Design rồi
mở Property Sheet.
Hãy
sửa truy vấn đằng sau form.
2.
Chọn Form từ Property Sheet combo box rồi
kích Data tab. Kích
nút Builder của Record Source để mở truy vấn
đằng sau form. Cuộn sang phải để tìm LAPayPeriodEnded. Kích
và kéo nó sang cột ở bìa trái của lưới QBE. Đặt giá trị Sort cho
LAPayPeriodEnded và TimeCardID là Ascending. Điều này giúp
dễ phát hiện các phiếu chấm công không theo thứ tự. Lưu các thay đổi. Nếu tò mò
bạn có thể thi hành truy vấn và xem kết quả trong form. Đóng Query Builder và
kích Yes.
Thêm
combo box cho giám sát viên employee supervisor nhằm giúp việc nhập
EmployeeSupervisor dễ dàng hơn cũng như để kiểm chứng là tên của giám sát viên
và EmployeeID là đúng.
3.
Tạo một bản sao của qryMaterialsHandler ở phần
Chapter 8 Queries thuộc Navigation Pane.
Kích qryMaterialsHandler trong Navigation Pane.
Nhấn Ctrl+C (sao chép)
và Ctrl+V (dán); đặt tên
là qryAdministrator.
Mở qryAdministrator ở góc nhìn Design (trong
phần Unassigned Objects thuộc Navigation Pane). Sửa tiêu chí cho EmployeeTypeID
thành 20, EmployeeTypeID cho quản trị viên. Lưu rồi đóng
truy vấn.
4.
Trở về frmLaborAcquisition. Thu gọn Navigation Pane. Kích
thành phần điều khiển EmployeeSupervisorID rồi
nhấn phím Delete để loại nó khỏi form.
Kích Design tab rồi kích Combo
Box trong nhóm Controls. Di chuyển con trỏ đến góc trái trên
của vùng trống rồi kích để khởi động Combo Box Wizard. Kích
nút Next. Kích nút
radio Queries rồi kích
kép qryAdministrator từ danh sách truy vấn.
Trong hộp thoại kế chọn tất cả các trường ngoại trừ EmployeeTypeID:
kích >> để thêm tất cả các trường rồi
kích < để
loại EmployeeTypeID. Kích Next. Sắp thứ
tự
tăng Ascending theo EmployeeLastName, EmployeeFirstName,
và EmployeeMiddleInitial. Kích Next.
Định cỡ lại các cột Employee
# và MI vì độ rộng dữ liệu là
cố định. Kích nút Next hai lần. Kích nút radio
thứ hai rồi chọn EmployeeSupervisorID từ danh
sách combo box. Kích nút Next.
Kích Finish.
5.
Xóa nhãn của combo box rồi định vị lại combo box. Dùng các công
cụ Size trong Size/Space menu
trên Arrange tab để combo box có độ rộng tương
tự nhãn Supervisor #. Dùng các công cụ Align để
dời combo box xuống bên dưới nhãn và cách đều các thành phần điều khiển
khác.
Hãy
tham khảo Hình 10.17 để sửa giao diện và chức năng của form, kể cả các mục trong
nhãn bước kế. Nhớ là bạn có thể sửa định dạng ở góc
nhìn Layout, nó cho phép bạn nhìn thấy dữ liệu trong lúc sửa
giao diện của form.
Hình
10.17 frmLaborAcquisition hoàn chỉnh ở góc nhìn
Design và góc nhìn Form.
6.
Sửa đầu đề form thành Time Worked Data Entry.
7.
Sửa các nhãn. Thu gọn Navigation Pane để thấy được toàn bộ form rồi sửa độ rộng
form thành 8.5 inches. Đặt thuộc tính in
đậm Bold và canh giữa Center cho nhãn.
Dời nhãn Overtime Hours sang bìa phải của đầu
đề. Chọn các nhãn Regular
Hours và Overtime Hours.
Trong Size/Space menu (trên dải lệnh Arrange),
chọn To Fit từ phần Size của menu. Chọn tất cả
các nhãn rồi chọn Equal Horizontal từ phần
Spacing của Size/Space menu.
8.
Điều chỉnh các thành phần điều khiển trường ở góc
nhìn Layout. Định cỡ lại các thành phần điều khiển trường
bằng cách kéo nút định cỡ phải sang trái để loại khoảng trống quá mức. Canh giữa
các thành phần điều khiển bên dưới nhãn tương ứng của chúng.
9.
Canh giữa các mã ID bên trong các thành phần điều khiển của chúng bằng cách
chọn Center trong nhóm Font. Chọn tất cả các
thành phần điều khiển trong phần Detail của form. Trên Property Sheet sửa
Special Effect trên Format tab
thành Sunken.
10.
Thêm Alternate Back Color vào phần Detail
(trên Format tab cho phần Detail) để tạo các
dòng có màu xen kẽ. Điều này giúp mắt dễ theo dõi các bản ghi
hơn. Text Description đã được chọn (xem Hình
10.17, nhưng bạn có thể thử nghiệm với các tổ hợp Back Color và Alternate Back
Color khác nhau).
11.
Làm EmployeeName không thể sửa. Tham khảo các Bước 7 và 8 trong Bài tập 9.25.
Sửa Special Effect thành Flat.
12.
Sắp lại thứ tự tab. Xem các thay đổi ở góc nhìn Form.
13.
Lưu các thay đổi rồi đóng form.
Ví
dụ của Pipefitters Supply Company có một số giả định đơn giản hóa. Dữ liệu mẫu
chỉ chứa 3 tháng dữ liệu cho 50 nhân viên. Mọi nhân viên được trả theo giờ gồm
trong giờ và chỉ có một cách trả ngoài giờ. Phân hệ nhân sự HR của một AIS phức
tạp hơn sẽ quản lý lũy kế (accrual) và thời gian nghỉ phép, nghỉ có lương, nghỉ
không lương, và nghỉ bệnh. Phân hệ lương của các AIS thường phải quản lý nhiều
kiểu ngoài giờ (chẳng hạn, trên 8 giờ mỗi ngày, trên 40 giờ mỗi tuần, giờ làm
việc vào ngày nghỉ) và tính lương theo các phương pháp khác với tính theo giờ.
Tuy nhiên, với cách làm hiện nay trong chương, bạn có thể phát sinh nhiều thông
tin hữu ích để báo cáo nội bộ hay ra bên ngoài.



0 nhận xét