Thứ Sáu, 25 tháng 11, 2016

Phát triển HTTT kế toán bằng MS Access - Chương 10 - Form nhập liệu giải ngân cho các chi phiếu trả lương

James Perry, Richard Newmark


Chương 10
Qui trình nhân sự


Form nhập liệu giải ngân cho các chi phiếu trả lương


Pipefitters Supply Company trả lương nhân viên vào ngày thứ hai sau thời điểm trả lương. Nếu ngày này rơi vào cuối tuần hay ngày nghỉ, các chi phiếu trả lương sẽ được lưu vào nơi an toàn của công ty và được giao vào ngày làm việc kế. Form nhập liệu trả lương sẽ trông giống form nhập liệu giải ngân mà bạn đã tạo ở Chương 9 để chi trả cho nhà cung ứng (xem Hình 9.50). Khác biệt chính là phần trên của form sẽ chứa thông tin trả lương nhân viên thay vì thông tin nhập kho và thông tin liên hệ nhà cung ứng. Trong bài tập kế bạn sẽ tạo một truy vấn chứa các trường trả lương nhân viên để điền thông tin vào phần trên của form.

BÀI TẬP 10.26: TẠO TRUY VẤN THÔNG TIN TRẢ LƯƠNG  NHÂN VIÊN

1. Tạo một truy vấn mới bằng công cụ Query Design. Thêm qryEmployeeName, qryGrossPay, và qryNetPay vào Table Pane. Liên kết qryEmployeeName với qryGrossPay bằng cách kéo EmployeeID từ danh sách trường này đến danh sách trường kia. Liên kết qryNetPay với qryGrossPay bằng cách kéo TimeCardID từ danh sách trường này đến danh sách trường kia.

2. Thêm các trường liệt kê ở Hình 10.30 vào Criteria Pane. Trong khi điền vào Criteria Pane hãy dùng thanh trượt để hiển thị các cột trống.

Hình 10.30 Các trường cho qryFormCDPayrollRecordSourceData.

3. Sắp TimeCardID theo thứ tự tăng Ascending.

4. Lưu truy vấn với tên qryFormCDPayrollRecordSourceData.

5. Thi hành truy vấn cho tháng 01/2012. Đóng truy vấn.

Form nhập chi phiếu trả lương sẽ dùng thiết kế form/subform. Phần trên của form sẽ chứa thông tin trả lương từ qryFormCDPayrollRecordSourceData. Không thể sửa trường nào ở đây vì chúng chỉ dùng tham khảo. Subform chứa tất cả các trường từ tblCashDisbursement. Việc liên kết các trường PayeeID và EventID vào form chính sẽ tự động điền PayeeID và EventID vào subform. Việc dùng dữ liệu dẫn từ tblLaborAcquisition sẽ là một kiểm soát vì các đợt giải ngân trả lương chỉ có thể được ghi nhận cho những đợt sử dụng lao động có mặt trong tblLaborAcquisition.

BÀI TẬP 10.27: DÙNG FORM WIZARD ĐỂ TẠO FORM NHẬP CHI PHIẾU TRẢ LƯƠNG

1. Kích qryFormCDPayrollRecordSourceData trong nhóm Unassigned Objects thuộc Navigation Pane để làm nổi bật tên truy vấn. Kích Create tab rồi kích Form Wizard trong nhóm Forms.

2. Kích nút >> để chuyển tất cả các trường từ qryFormCDPayrollRecordSourceData sang khung Selected Fields.

3. Chọn tblCashDisbursement từ combo box. Kích nút >> để chuyển tất cả các trường sang khung Selected Fields.

4. Kích Next, kích by qryFormCDPayrollRecordSourceData để đặt các trường truy vấn vào form chính và các trường Cash Disbursement vào subform, giống form nhập liệu giải ngân cho nhà cung ứng mà bạn đã tạo ở Chương 9.

5. Kích nút Next hai lần để đến hộp thoại đặt tên các forms. Đặt tên form là frmCashDisbursementPayroll và tên subform là fsubCashDisbursementPayroll. Kích nút Finish để đóng hộp thoại và mở frmCashDisbursementPayroll ở góc nhìn Form.

6. Gõ 1/1/2012 vào hộp thoại thời điểm đầu kỳ Beginning of Period Date và 1/31/2012 vào hộp thoại thời điểm cuối kỳ End of Period Date. Form chính sẽ mở ở góc nhìn Form và subform mở ở góc nhìn Datasheet. Đóng form.

Mặc dù form này đã có thể hoạt động, ta sẽ cải thiện giao diện của nó, và thêm một số thành phần điều khiển ở hai bài tập kế.

BÀI TẬP 10.28: CẢI THIỆN SUBFORM NHẬP CHI PHIẾU TRẢ LƯƠNG

1. Mở fsubCashDisbursementPayroll ở góc nhìn Design. Nó nằm ở nhóm Unassigned Objects thuộc Navigation Pane. Mở Property Sheet. Chọn Form từ Property Sheet combo box nếu nó chưa được chọn.

2. Vì chỉ có một chi phiếu trả lương sẽ được viết cho từng phiếu chấm công time card, bạn sẽ loại nhiều thành phần điều khiển di chuyển của subform bằng cách thực hiện các sửa đổi sau cho các thuộc tính Format của nó:

  • Đặt Record Selectors là No.
  • Đặt Navigation Buttons là No.
  • Đặt Scroll Bars là Neither.
  • Đặt Close Button là No.
  • Đặt Min Max Button là None.


3. Tất cả các chi phiếu trả lương được rút từ tài khoản trả lương, CashAccountID 102. Kích thành phần điều khiển CashAccountID để chọn nó trong Property Sheet combo box. Kích Data tab rồi đặt thuộc tính Default Value là “102”. Vì người dùng không được viết chi phiếu trả lương từ bất kỳ tài khoản nào khác, hãy sửa thuộc tính Enabled thành No và Locked thành Yes. Kích Other tab rồi sửa Tab Stop thành No. Các thay đổi này sẽ ngăn người dùng nhập sai tài khoản tiền mặt cho các chi phiếu trả lương.

4. Kích thành phần điều khiển CDTypeID. Kích Data tab rồi đặt thuộc tính Default Value là “02”, đây là mã kiểu giải ngân cho các đợt giải ngân trả lương. Thực hiện các sửa đổi cho CDTypeID như bạn đã làm cho CashAccountID ở Bước 3.

5. Các giá trị PayeeID EventID sẽ được đặt qua liên kết giữa subform và form. Hãy khóa các giá trị này như bạn đã làm ở Bước 3.

6. Xem subform ở góc nhìn Datasheet. Kích nút chọn Datasheet; kích More menu trong nhóm Records trên dải lệnh Home; kích Field Width; rồi kích Best Fit để điều chỉnh tất cả các độ rộng cột.

7. Đóng subform. Để ý rằng bạn không thể dùng nút đóng (dấu X ở góc bên phải form) vì bạn đã khóa nó. Kích phải fsubCashDisbursementPayroll tab; kích Close. Kích Yes để lưu các thay đổi.

BÀI TẬP 10.29: CẢI THIỆN FORM NHẬP DỮ LIỆU CHI PHIẾU TRẢ LƯƠNG

Hãy dùng Hình 10.31 làm tham khảo giao diện cho form của bạn.

Hình 10.31 frmCashDisbursementPayroll hoàn chỉnh ở góc nhìn Design và góc nhìn Form.

1. Mở frmCashDisbursementPayroll ở góc nhìn Design, mở Property Sheet. Sửa đầu đề thành Payroll Check Data Entry. Kích và kéo thanh Detail xuống dưới để bạn có thể nắm được nút điều chỉnh kích cỡ ở đáy nhãn đầu đề và giảm chiều cao quá mức của ô nhãn. Dời ô văn bản đầu đề sang phải 1/4-inch. Kéo thanh Detail ngược lên cho đến khi chạm ô nhãn đầu đề.

2. Kích và kéo con trỏ qua toàn bộ thành phần điều khiển và nhãn trong phần Detail ở trên subform. Sửa các thuộc tính Format sau trên Property Sheet để khóa các thành phần điều khiển:

  • Đặt Back Style là Transparent.
  • Đặt Border Style là Transparent.


3. Kích vào vùng trống trên form để khử việc chọn các đối tượng. Chọn tất cả các ô văn bản (không phải nhãn) trong phần Detail của form bằng cách kích và kéo con trỏ trên từng ô, hay giữ phím Shift xuống rồi kích từng ô văn bản. Kích Data tab trong Property Sheet. Sửa Enabled thành No và Locked thành Yes. Các thành phần điều khiển đã được khóa. Chỉ các thành phần điều khiển trong subform là còn hoạt động.

4. Để ý rằng PayeeID không được tự động điền vào subform vì Form Wizard không tạo liên kết giữa EmployeeID trong form và PayeeID trong subform. Vì thế, bạn sẽ thêm liên kết này. Trở về góc nhìn Design. Kích fsubCashDisbursementPayroll trong combo box trên Property Sheet. Kích Data tab; kích Link Master Fields để hiển thị nút Builder rồi kích nó. Chọn EmployeeID trong Master Fields combo box thứ hai và PayeeID trong Child Fields combo box thứ hai. Kích OK.

5. Định cỡ và bố trí lại các nhãn và thành phần điều khiển trong form cho giống Hình 10.31. Tất cả các nhãn được canh phải và in đậm. Góc nhìn Layout cho phép bạn nhìn subform ở góc nhìn Datasheet và cho bạn khả năng dời và định cỡ lại nó.

6. Lưu các thay đổi trên form rồi đóng lại.

7. Nhập dữ liệu tblCashDisbursement cho các chi phiếu trả lương từ Ch10.xlsx bằng cách dùng phương pháp tương tự Bài tập 10.11. tblCashDisbursement cần có 174 bản ghi sau khi nhập liệu. Mở frmCashDisbursementPayroll ở góc nhìn Form để xem form trông ra sao sau khi đã nhập liệu.

Giờ đây bạn đã hoàn tất việc tạo các form nhập để thu thập dữ liệu từ các hoạt động của qui trình nhân sự HR, bạn sẽ dẫn ra thông tin hữu ích cho các mục đích nội bộ cũng như bên ngoài.

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

Đăng nhận xét