Bài tập 09 - QUẢN LÝ NHÂN VIÊN
Hãy tạo cơ sở dữ liệu trong đĩa C có tên: QLNV.MDB
Câu 1. Hãy thiết kế cấu trúc, tạo quan hệ và nhập dữ liệu cho các bảng như sau:
1. PHONGBAN(MAPB Text(4), TENPB Text(40))
2. NHANVIEN(MANV Text(10), TENNV Text(40), PHAI Yes/No, NGAYSINH
Date/Time (Short date), DIACHI Text(60), MAPB Text (4), CHUCVU Text(4), TDCM
Text (10), NGAYVAOLAM Date/Time(Short date)
3. BANGLUONG(THANG Text (10), NAM Text(4) MANV Text(10) , XEP LOAI(T,1)
LUONGCB Number(Double), NGAYCONG Number(Byte), BAOHIEM
Number(Double – percent), UNGLUONG Number(Double).
BẢNG PHÒNG BAN
BẢNG NHÂN VIÊN
BẢNG LƯƠNG
Câu 2. Hãy dùng Query tính toán như sau:
a. Tính lương lãnh cho mỗi nhân viên, thông tin gồm có : THANG, NAM, MANV,
XEPLOAI, LUONGCB, NGAYCONG, BAOHIEM, UNGLUONG, LUONGLINH,
biết rằng LUONGLINH =NGAYCONG*LUONGCB -
BAOHIEM*NGAYCONG*LUONGCB-UNGLUONG + THUONG, biết rằng
nếu nhân viên làm hằng tháng có số ngày công > 25 thì phần ngày công dư ra được
tính nhân đôi. (Lưu ý BAOHIEM thì chỉ tính ngày công theo bảng, không tính nhân
đôi ngày công thừa). Nếu nhân viên hàng tháng xếp loại A thì thưởng 400000, nếu
xếp loại B thì không thưởng, nếu xếp loại C thì phạt trừ lương 100000.
b. Hãy thêm vào bảng Phòng Ban một mẫu tin như sau: MAPB:”PX1”; TENPB: “Phân
xưởng thành phẩm”
c. Hãy cho biết Phòng ban nào có Tổng lương thấp nhất?Thông tin : MAPB, TENPB,
TONGLUONGTN.
d. Hãy cho biết danh sách nhân viên nào chưa tính lương?
Câu 3. Tạo form LUONGPB theo hình sau, đảm bảo các yêu cầu :
a. Form hoạt động đúng chính xác.
b. MAPB không được để trống, không được trùng lặp khi nhập dữ liệu mới.
c. Các công thức tính toán hoạt động đúng.
d. Các nút lệnh hoạt động đúng chức năng, nút xóa có cảnh báo tiếng Việt
Câu 4. Tạo REPORT BAOCAODSNV theo hình sau:
Câu 5. Tạo FORMDIEUKHIEN theo hình sau, yêu cầu hoạt động đúng theo sự lựa
chọn của người sử dụng:
HƯỚNG DẪN GIẢI BÀI TẬP 9
Câu 1 :
a. Thiết kế bảng dữ liệu :
− Bảng PHONGBAN : Với MAPB chọn Require = YES; Index = Yes, no duplicate. (đặt
khóa MAPB)
− Bảng NHANVIEN : Với MANV chọn Require = YES; Index = Yes, no duplicate. (đặt khóa
MANV). Tạo chế độ lookup cho field MAPB
− Bảng BANGLUONG: Với THANG, NAM,MANVchọn Require = YES; Index = Yes,
duplicated OK. (đặt khóa THANG; NAM, MANV). Tạo chế độ lookup cho field THANG,
NAM, MANV.
b. Tạo mối quan hệ :
Câu 2 : Thực hiện các query
a. Chọn bảng NHANVIEN, BANGLUONG tham gia truy vấn, đưacác field cần thiết vào tham
gia truy vấn. CÔng thức tính lương như sau :
luonglinh:IIf([ngaycong]>25;[ngaycong]*2-25;[ngaycong])*[luongcb]-
[baohiem]*[ngaycong]*[luongcb]-[UNGLUONG]
+IIf([xeploai]="a";400000;IIf([xeploai]="b";0;-100000))
b. Sử dụng truy vấn Append để
thực hiện câu b.
c. Thực hiện truy vấn như hình bên
(lưu ý phần khoanh tròn trong
hình.)
d. Đưa bảng NHANVIEN vào tham
gia truy vấn chọn cà field cần
thiết đưa vào truy vấn tại
phần CREATERIA của field
MANV nhập dòng lênh sau : Not
In (select manv from bangluong)
Câu 3 : Tạo form LUONGPB
a. Click create form by using
wizard lần lượt chọn các field MAPB, TENPB trong bảng PHONGBAN; các field của
form con được chọn từ Query1 Click Next kiểm tra dạng main subform & các field
chọn theo yêu cầu click Next click Next Chọn kiểu Industrial click next đặt
tên form là LUONGPB , đặt tên cho form phụ là LUONGPB SUBFORM click finish
Về chế độ design view sửa đổi thiết kế lại giống như trong bài .
b. Tạo các nút lệnh cần thiết trên form con. Riêng nút xóa thực hiện như sau : vẽ nút lệnh trên
form click nút cancel để từ chối sự trợ giúp double click nút lệnh Chọn Event
Chọn On Click click vào nút ... chọn Macro Builder OK đặt tên cho Macro là
canhbao OK Click View Conditions nhập và trình bày Macro như hình vẽ sau
Click save trở về cửa sổ tạo form.
c. Trên form con textbox, nhập các công thức sau : =SUM([luonglinh]) đặt tên cho textbox
là tongsub save tạo textbox tương ứng trên form chính và lấy kết quả từ textbox trên
form con đưa qua form chính như đã học.
d. Lần lượt tạo 2 macro đáp ứng yêu cầu như sau
− Tạo macro kiểm tra tính không rỗng của MAPB khi nhập : D.click textbox MAPB
chọn thẻ Event Chọn dòng lệnh ON EXIT click nút lệnh Builder (nút ...) chọn
macro đặt tên macro là khongrong enter click menu view chọn condition thực
hiện macro qua 2 bước như 2 hình sau :
− Tạo macro kiểm tra tính không
TRÙNG LẶP của MAPB khi nhập :
D.click textbox MSTK chọn thẻ
Event Chọn dòng lệnh BEFORE
UPDATE click nút lệnh Builder
(nút ...) chọn macro đặt tên
macro là trunglap enter click
menu view chọn condition thực
hiện macro như hình bên :
Câu 4 : Tạo báo cáo R_BAOCAO
a. Click create REPORT by using wizard lần lượt chọn các field MAPB, TENPB trong
bảng PHONGBAN; MANV, TENNV, PHAI, NGAYSINH, CHUCVU, TDCM,
NGAYVAOLAM trong bảng NHANVIEN Click Next click Next Chọn kiểu Align
Left 1 CLick Next Chọn hình thức Bold đặt tên cho report baocaodsnv Click
Finish
b. Trở về cửa sổ design trình bày report như hình sau
BƯỚC 1 BƯỚC 2