Chủ Nhật, 13 tháng 11, 2016

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 #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 HoursOvertime 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.

Không có nhận xét nào:

Đăng nhận xét