4.3.1. Thiết kế Bảng dữ liệu (Table)
4.3.1.1 Cơ sở dữ liệu tính lương
Để xây dựng hệ thống cơ sở dữ liệu tính lương cho nhân viên ta tiến hành thiết lập các Bảng cơ sở dữ liệu nguồn như sau : Bảng thông tin nhân viên (THONGTIN_NV), Bảng thông tin về phòng ban (PHONGBAN), Bảng thông tin hệ số lương (HESOLUONG), Bảng thông tin về phụ cấp (PHUCAP), Bảng chấm công nhân viên (CHAMCONG).
* Bảng Phòng Ban (PHONGBAN)
- Dùng để thống kê các phòng ban trong công ty, tên người lãnh đạo của từng phòng ban.
- Bảng phòng ban: PHONGBAN (MAPHONG, TENPHONG, TENLĐ), trong đó MAPHONG là khóa chính. Dưới đây là Bảng PHONGBAN ở chế độ thiết kế (Desgin View)
Hình 4.1 Bảng PHONGBAN
- Khi mở Bảng (Table) ở chế độ thiết kế thì ta tiến hành thiết lập các thuộc tính (định dạng) cho từng trường trong Bảng PHONGBAN như:
+ Tên trường hay cột trong bảng (Field name): khi thiết lập thì tên các trường hay cột không được trùng nhau.
VD: Trường đầu tiên là MAPHONG thì tiếp theo là TENPHONG hay TENLĐ thứ tự không quan trọng.
+ Thiết lập Data Type hay kiểu dữ liệu cho từng trường (cột).
VD: Ở cột đầu tiên là MAPHONG thì có thể chọn kiểu dữ liệu là Text; ngoài ra còn có các kiểu dữ liệu khác như: number (số), currency (tiền tệ)…
+ Description: Dùng mô tả hay diễn giải các ý nghĩa của từng cột (đây là phần không bắt buộc), tuy nhiên vẫn nên sử dụng phần mô tả này để làm rõ nghĩa hơn cho cột.
+ Primary Key (Khóa chính của bảng – biểu tượng chiếc chìa khóa): Dùng để phân biệt các mẩu tin (record) khác nhau trong cùng một bảng
Bảng PHONGBAN sau khi thiết lập các thuộc tính, ta sẽ chuyển sang chế độ chế độ Nhập Liệu (Datasheet view).
Hình 4.2 Bảng PHONGBAN – chế độ nhập liệu (Datasheet view) Trong đó:
+ Record (mẫu tin): là một dòng ngang thể hiện thông tin liên quan của một đối tượng như, mẫu tin thứ nhất trong Bảng PHONGBAN là:
GĐ Phòng Giám Đốc Lư Nhựt Quỳnh
+ Field (tên trường hay tên của cột): gồm có 03 trường là MAPHONG, TENPHONG, TENLĐ.
MAPHONG TENPHONG TENLĐ
* Bảng Thông tin nhân viên (THONGTIN_NV)
- Bảng THONGTIN_NV dùng để truy vấn và quản lý thông tin nhân viên của từng phòng ban như về họ tên, giới tính, địa chỉ, trình độ học vấn…., đồng thời dùng để cập nhật thêm dữ liệu của nhân viên mới cũng như nhân viên thời vụ đang lao động tại các công trình.
- Bảng thông tin nhân viên chi tiết: THONGTIN_NV (MANV, HONV,TENNV, GIOITINH, NGAYSINH, DIACHI, CHUCVU, TRINHDO, MAHSL, MAPC, MAPHONG, MATHUONG, BHXH, BHYT, BHTN), trong đó MANV là khóa chính.
- Các bước thiết kế tương tự như Bảng PHONGBAN, tuy nhiên lưu ý ở trường GIOITINH thì ta chọn Data type là định dạng là Yes/No, thể hiện 02 giá trị là Nam hoặc Nữ, nếu là nữ sẽ có dấu check ở trường giới tính, còn 03 trường BHXH, BHYT, BHTN kiểu dữ liệu là có thể là Memo (lưu văn bản với dạng nhiều dòng hoặc nhiều cột ) hoặc số các trường này chỉ để giải thích
thêm không ảnh hưởng nhiều đến quá trình tính toán hay truy xuất dữ liệu sau này.
+ Ngoài ra các trường MAHSL, MAPC, MAPHONG, MATHUONG do có liêt kết với những bảng dữ liệu khác nên khi thiết kế bảng phải thống nhất được kiểu dữ liệu của các trường này với các trường tương ứng khi liên kết (được minh hoạt ở hình 4.7), kiểu dữ liệu dùng là Text đối với MAHSL, MAPC, MAPHONG riêng đối với trường MATHUONG thì kiểu dữ liệu cần định dạng là kiểu dữ liệu số.
Hình 4.3 Bảng THONGTIN_NV ở chế độ thiết kế (Design View)
* Bảng Phụ cấp (PHUCAP)
- Liệt kê các loại phụ cấp của từng nhân viên trong tháng bao gồm các loại phụ cấp như: phụ cấp chức vụ, phụ cấp công tác phí, phụ cấp điện thoại…
- Bảng phụ cấp: PHUCAP (MAPC, TIENPC) trong đó MAPC là khóa chính.
- Khi thiết kế bảng PHUCAP cần lưu ý về các định dạng của kiểu dữ liệu (Data Type), MAPC thì kiểu dữ liệu là chữ (text), TIENPHUCAP là kiểu dữ liệu sô (number).
Hình 4.5 Bảng PHUCAP ở chế độ thiết kế ( Design View) - Quy ước kí hiệu khi nhập liệu
Mã phụ cấp Tên phụ cấp Tiền phụ cấp
CV01 Phụ cấp chức vụ (ban giám đốc) 1.050.000/ngày CV02 Phụ cấp chức vụ (trưởng phòng) 840.000/ngày
ĐT Phụ cấp tiền điện thoại 100.000/ngày
CTNT Phụ cấp công tác ngoại tỉnh 130.000/ngày CT Phụ cấp công tác trên địa bàn Cần Thơ 70.000/ngày
KHAC Phụ cấp khác (tháng) 300.000*
TV01 Phụ cấp cho thợ chính (LĐ thuê ngoài) 50.000/ngày TV02 Phụ cấp cho thợ phụ (LĐ thuê ngoài) 30.000/ngày
C Không có phụ cấp 0
* Là khoản hụ cấ tháng do Công ty thỏa thu n với người lao động
- Bảng PHUCAP sau khi nhập liệu hoàn thành:
Hình 4.6 Bảng PHUCAP sau khi nhập liệu
* Bảng Hệ số lương (HESOLUONG)
Liệt kê hệ số lương của từng nhân viên trong các phòng ban, tạo sự thuận lợi trong việc truy xuất dữ liệu, từ hệ số lương ta có thể biết được trình độ học vấn cũng như thâm niên công tác trong công ty.
- Quy ước trong nhập liệu Bảng HESOLUONG là:
MAHSL HSOLUONG LGTT A 3,33 2.100.000 B 3 2.100.000 C 2,67 2.100.000 D 2,41 2.100.000 E 2,34 2.100.000 F 2,26 2.100.000 G 1,86 2.100.000 H 1 2.100.000
* LGTT là lương t i thiểu theo vùng
* H là h lương dành cho lao động hổ thông
Bảng 4.2 Quy ước nhập liệu trong Bảng hệ số lương
- Định dạng các kiểu dữ liệu trong bảng như sau: MASHL là kiểu kiểu chữ , HSOLUONG và LGTT là kiểu định dạng số (number).
- Bảng hệ số lương: HESOLUONG (MAHSLUONG, HSLUONG, LGTT), trong đó HESOLUONG là khóa chính.
Hình 4.7 Bảng HESOLUONG
* Bảng Chấm công (CHAMCONG)
Bảng chấm công dùng để thống kê số lượng ngày làm việc thực tế, số ngày làm thêm của từng nhân viên là cơ sở đầu tiên cho việc tính lương.
Bảng chấm công: CHAMCONG (MACONG, MANV, SNLAM, SNLAMTHEM, HSLUONG, TTHUONG, TIENPC, TAMUNG), trong đó MACONG là khóa chính.
Định các kiểu dữ liệu trong bảng tương tự như các bảng trên, riêng trường hệ số lương (HSLUONG) thì định dạng là kiểu số ở cột Field size chọn là Double, Index là Yes (Duplicates OK) có ý nghĩa là chấp nhận các giá trị trùng nhau cho những mẫu tin khác nhau.
Ta quy ước mã chấm công (MACONG) như sau:
Mã chấm công Tên phòng ban tương ứng
A Phòng giám đốc
B Phòng kỹ thuật
C Phòng Kế toán
D Phòng thi công
T Lao động thuê ngoài
Hình 4.8 Bảng CHAMCONG ở chế độ thiết kế
Hình 4.9 Bảng chấm công ở chế độ nhập liệu
* Bảng Thưởng (THUONG )
- Bảng thưởng: THUONG (MATHUONG, TIENTHUONG) trong đó MATHUONG là khóa chính, định dạng dữ liệu của MATHUONG, TIENTHUONG đều là dạng số (number).
- Bảng thưởng dùng để liệt kê các mức thưởng dành cho nhân viên do Ban giám đốc quyết định, trong đề tại này để tạo thuận tiện trong việc nhập liệu và truy xuất thông tin thì dựa theo các mức thưởng thông thường tại công ty thì tác giả đã thống kê được các mức thưởng khác nhau.
Mã thưởng Mức thưởng tiền
1 300.000
2 500.00
3 1.000.000
4 0
Bảng 4.4 Quy ước khi nhập liệu vào Bảng thưởng
Hình 4.10 Bảng THUONG
4.3.1.2 Tiến hành nh p liệu cho Bảng
Bước 1:
Đầu tiên tiến hành nhập liệu cho Bảng Phòng Ban (PHONGBAN), Bảng Thưởng (THUONG), Bảng phụ cấp (PHUCAP) và Bảng hệ số lương trong đó Mã phòng (MAPHONG), Mã thưởng (MATHUONG), Mã Phụ cấp (PHUCAP) và MãHSL (MAHSL) giữa các trường phải khác nhau. Trong 04 bảng này ta tiến hành nhập liệu bảng nào trước cũng được.
Bước 2:
Tiến hành nhập dữ liệu cho Bảng Thông tin nhân viên (THONGTIN_NV). Mỗi nhân viên sẽ có một Mã nhân viên là duy nhất (MANV). Trong đó, trường Mã phòng, Mã Phụ cấp, Mã Hệ số và Mã thưởng phải được quy định lần lượt trong các Bảng Phòng Ban (PHONGBAN), Bảng Phụ Cấp (PHUCAP), Bảng Thưởng (THUONG).
Bước 3:
Nhập liệu ở Bảng Chấm công (CHAMCONG). Trong đó, Mã Chấm công (MACONG) phải khác nhau giữa các trường vì mỗi nhân viên chỉ tồn tại một mã chấm công duy nhất. Mã Nhân viên (MANV) ở Bảng chấm công cũng
là duy nhất khác nhau giữa các trường và phải được quy định trong Bảng Thông tin nhân viên (THONGTIN_NV), dữ liệu nhập vào ở mục Hệ số lương (HESOLUONG) phải được quy định trong Bảng Hệ Số lương, tiền thưởng phải được quy định trong Bảng tiền thưởng và Tiền phụ cấp phải được quy định trong Bảng phụ cấp.
Thiết lập quan hệ cho các bảng (Relationship)
Sau khi tạo xong liên kết cho các Bảng. Ta tiến hành nhập cơ sở dữ liệu cho từng Bảng để tạo thành một cơ sở dữ liệu liên kết hoàn chỉnh. Tạo liên kết cho các Bảng cơ sở dữ liệu như sau:
Bảng THONGTIN_NV liên kết 1 – n với Bảng CHAMCONG thông qua trường MANV.
Bảng PHONGBAN liên kết 1 – n với Bảng THONGTIN_NV thông qua trường MAPHONG.
Bảng HESOLUONG liên kết 1 – n với Bảng THONGTIN_NV thông qua trường MAHSL.
Bảng PHUCAP liên kết 1 – n với Bảng THONGTIN_NV thông qua trường MAPC.
Bảng THUONG liên kết 1 – n với Bảng THONGTIN_NV thông qua trường MATHUONG.
Hình 4.11 Liên kết giữa các Bảng Khi tạo liên kết giữa các Bảng cần lưu ý:
VD: Liên kết giữa Bảng THONTIN_NV và THUONG thông qua trường MATHUONG thì Field Size của MATHUONG ở cả hai bảng phải là Long Interger hoặc Integer.
- Nhập các giá trị trường khóa trùng nhau.
- Không nhập các giá trị hoặc để trống các giá trị của trường khóa.
4.4 THIẾT KẾ TRUY VẤN DỮ LIỆU (QUERY) 4.4.1 Crosstab Query 4.4.1 Crosstab Query
Truy vấn dữ liệu Crosstab Query dùng để thống kê số lượng nhân viên ở các phòng ban hiện tại của công ty, tên người lãnh đạo của các phòng ban và cho biết sự tăng giảm nhân sự của các phòng ban.
Ở truy vấn này ta sử dụng dữ liệu nguồn là của 02 Bảng THONGTIN_NV và Bảng PHONGBAN. Trong đó trường tên phòng được nhóm theo hàng, trường mã phòng được nhóm theo cột và trường mã nhân viên thực hiện phép đếm.
Crosstab Query ở chế độ thiết kế
Hình 4.12 Query thống kê nhân viên các phòng ban
Khi thực hiện truy vấn ta sẽ được thống kê như sau: (chọn chế độ Datasheet View hay nhấn chọn nút Run – Biểu tượng dấu chấm than màu đỏ trên màn hình)
Hình 4.13 Kết quả truy vấn Crosstab query thống kê nhân viên
4.4.2 Select Query
Ta dùng Select Query để liệt kê nhân viên chính thức của công ty cũng như số lượng lao động thuê ngoài hiện có.
Đồng thời ta có thể dùng truy vấn này để thống kê lương, phụ cấp cũng như trình độ, chức vụ của từng nhân viên.
Ở truy vấn này ta chỉ cần sử dụng dữ liệu của Bảng THONGTIN_NV Kết quả của truy vấn như sau của việt thực hiện truy vấn thống kê nhân viên chính thức của công ty như sau:
Hình 4.14 Truy vấn thống kê nhân viên chính thức tại công ty
Truy vấn thống kê nhân viên thuê ngoài ta chỉ đổi điều kiện từ Mã nhân viên chính thức sang mã nhân viên thời vụ, mã quy ước này đã có đề cập ở phần trên ( Ở dòng Criteria thay đổi điều kiện từ “CT*” sang “TV*”)
Hình 4.15 Truy vấn thống kê nhân viên thuê ngoài
- Truy vấn thống kê lương, phụ cấp, các khoản phụ cấp và tạm ứng lương trong tháng của từng nhân viên trong các phòng ban
+ Đầu tiên ta tạo Select query thống kê lương nhân viên chính thức của các phòng ban (Thongkeluongnvct) từ 04 bảng THONGTIN_NV, HESOLUONG, CHAMCONG và PHONGBAN ta lần lượt đưa các trường : MANV, HoTen, GIOITINH, SNLAM, SNLAMTHEM, LGTT, HESOLUONG, BHXH, BHYT, BHTN, TAMUNG, MAPC
Hình 4.16 Bảng Thongkeluongnvct ở chế độ thiết kế
+ Trong query Thongkeluongnvct, ta cần thiết lập các công thức cho các trường như sau:
HoTen = [HONV] & [TENNV] BHXH = [LGTT] * 0,07
BHYT = [LGTT] * 0,015 BHTN = [LGTT] * 0,01 LGCB = [LGTT] * [HESOLUONG] TIENPC: IIf([MAPC]="CV01",1050000,IIf([MAPC]="CV02",840000,IIf([MAP C]="C",0,IIf([MAPC]="TVC",50000,IIf([MAPC]="TVP",30000))))) + Tạo liên kết giữa query Thongkeluongnvct và bảng CHAMCONG tạo nền bảng lương hoàn chỉnh.
Hình 4.17 Liên kết giữa query Thongkeluongnvct và table CHAMCONG
+ Khi tạo liên kết giữa 02 bảng này ta cần lưu ý:
Đưa các trường:MACONG, MANV,HoTen, SNLAM, SNLAMTHEM, LGCB, TIENPC, TienLamThem, các khoản phải trích theo lương, tạm ứng. Riêng ở 02 trường TienLamThem và LgThucLanh ta thiết lập công thức như sau:
TienLamThem: ([LGCB]+[TIENPC]/[SNLAM])*1.5*[SNLAMTHEM] LgThucLanh: [LGCB]+[TIENPC]-[BHXH]-[BHYT]-[BHTN]-[TAMUNG]
* Lương nhân viên thuê ngoài cũng được truy vấn và tạo liên kết tương tự
4.5 THIẾT KẾ BIỂU MẪU (FORM) 4.5.1 Thông tin nhân viên 4.5.1 Thông tin nhân viên
Thiết kế biểu mẫu thông tin nhân viên chủ yếu trình bày và mô tả đầy đủ thông tin của từng nhân viên theo ý muốn của người sử dụng tạo sự thuận lợi trong việc thao tác các phần khác có liên quan.
Biểu mẫu thông tin nhân viên được lấy nguồn từ Bảng THONGTIN_NV, sau khi hiển thị bảng THONGTIN_NV ta kéo và thả các trường vào phần Detail và tiến hành chỉnh sửa.
Hình 4.18 Form THONGTINNV ở chế độ thiết kế
Ngoài ra , ta còn có thể điều chỉnh các dạng khác như hình ảnh hoặc tệp tin, kiểu chữ từ Toolbox.
4.5.2 Bảng chấm công
Trình bày đơn giản, ngắn gọn các thông tin chi tiết về tên của từng nhân viên, số lương ngày công, ngày làm thêm.
Được thực hiện tương tự từng bước như Form THONGTINNV
Hình 4.20 Form THONGTINNV sau khi thiết kế hoàn thành
4.6 THIẾT KẾ BÁO CÁO (REPORT) 4.6.1 Bảng lương cơ bản 4.6.1 Bảng lương cơ bản
* Bảng Lương căn bản
Báo cáo bảng lương căn bản được thiết kế từ Query LGCANBAN. Đầu tiên ta chọn thiết kế báo cáo ở chế độ trợ giúp (create report by using wizard) sau đó đưa các trường cần dùng làm thông tin chính cho report lương căn bản của Query LGCANBAN vào như: mã nhân viên, họ tên, ngày sinh, giới tính, phòng ban, lương căn bản của mỗi nhân viên. Chọn chế độ hiển thị dữ liệu như một danh sách (Layout: Tabular). Sau đó tiến hành tùy chỉnh báo cáo trong hộp thoại Properties và thêm các thông tin hay hình ảnh ở công cụ Toolbox.
Ngoài ra, bảng lương căn bản có thiết kế thêm một dòng là tổng lương, được đặt ở Report footer, tính tổng lương căn bản cho nhân viên chính thức:
Công thức: được tạo bằng Textbox ở dạng không liên kết (unbound) Tổng Lương = Sum([LGCB])
Hình 4.21 Bảng lương căn bản ở chế độ thiết kế
Hình 4.22 Bảng lương căn bản ở chế độ xem trước khi in
4.6.2 Bảng các khoản trích theo lương
Bảng các khoản trích theo lương được lấy dữ liệu nguồn từ Query LgThucLanh, các bước thiết kế cũng được tiến hành tương tự như báo cáo lương cơ bản. Ta cũng lần lượt đưa các trường như: mã nhân viên, họ tên, ngày sinh, phòng ban trực thuộc, các khoản phải trích theo lương (BHXH, BHYT, KPCĐ).
Hình 4.23 Bảng các khoản trích theo lương ở chế độ thiết kế Đồng thời ở Report Footer ta cũng tiến hành thiết lập các công thức tỉnh tổng các khoản phải trích cho nhân viên.
Công thức : = Sum([BHXH]), = Sum([BHYT]), = Sum([BHTN]).
Hình 4.23 Bảng các khoản trích theo lương ở chế độ xem trước khi in
4.6.3 Bảng thanh toán lương
Bảng thanh toán lương được lấy dữ liệu nguồn từ Query LgThucLanh. Các bước thiết kế được tiến hành tương tự như Bảng lương cơ bản.
Hình 4.23 Bảng thanh toán lương ở chế độ thiết kế
Hình 4.24 Bảng thanh toán lương ở chế độ xem trước khi in
4.7 XÂY DỰNG GIAO DIỆN CHƯƠNG TRÌNH
Mục đích của việc xây dựng giao diện chương trình nhằm tạo sự thuận lợi cho người sử dụng trong công việc tính lương, quản lý thông tin nhân viên cũng như công việc in ấn để lưu trữ hồ sơ.
Để tạo giao diện cho chương đầu tiên ta tạo ra các Macro (các hành động liên tiếp đã được quy định sẵn để thực hiện các tác vụ tự động như mở Form , Report, Table). Lưu ý, các Macro đang sử dụng là dạng Macro gắn kết ( là Macro được tạo ra để đáp ứng một sự kiện của một điều khiển trên Form)
Bước 1:
- Tiến hành tạo một số Macro để tự động mở một số bảng báo cáo cơ bản như: Bảng thanh toán lương, Bảng các khoản trích theo lương, Bảng lương căn bản.
+ Đầu tiên chọn Macro New; ở cột Action ta chọn các hành động tương ứng như: OpenTable (mở bảng), OpenReport (mở các báo cáo)…Ở cột Comment ta có thể ghi hay không ghi diễn giải cũng không quan trọng nhưng riêng tác giả đề nghị nên ghi diễn giải để tránh có sự nhầm lẫn khi tiến hành tạo Macro ở Form Giao diện.
+ Ở phần Action Arguments ta chọn:
Report Name LGCANBAN
View (chế độ xem): Print Preview (xem trước khi in), Print (in) hoặc Desgin (thiết kế). Những phần còn lại là mặc định
- Ví dụ minh họa cho việc tạo Macro mở bảng lương căn bản (Report LGCANBAN).
Hình 4.25 Macro mở Report Lương căn bản