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).
Trang 1Bà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,
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
Trang 2b 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:
Trang 4HƯỚ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
Trang 5c 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
Trang 6Câu 5 : Tạo form điều khiển.
Chọn đối tượng làm việc là form D.C vào lệnh Create form in design view tạo nhãn cho form
là điều khiển chọn công cụ OPTION GROUP trong hộp công cụ vẽ Option group lên form
Xuất hiện hộp thoại wizard Lần lượt qua các bước sau
- Click finish để kết thúc bước trợ giúp về cửa sổ form để
tiếp tục làm việc
- Thiết kế Option group như hình bên Double click vào
cạnh của option group Xuất hiện hộp thoại properties
chọn thẻ other chọn dòng name đặt tên cho
Option group là DIEUKHIEN Save
- D.click trên nút lệnh THỰC HIỆN chọn event chọn
On click D.click vào nút builder chọn macro
builder đặt tên cho Macro là DIEUKHIEN OK
click nút lệnh Condition thực hiện macro lần lượt qua 3
bước như sau