Bài tập access nâng cao, hướng dẫn lập trình CSDL
T TRƯỜNG ĐẠI HỌC BC MARKETING KHOA TIN HỌC QUẢN LÝ Dùng cho các lớp: TIN HỌC - KẾ TOÁN Số tiết lý thuyết: 30 tiết Số tiết thực hành: 60 tiết Biên soạn: ThS. Lê Đình Ngân - TP.Hồ Chí Minh, 02/2008 - Bài tập MS.Access II – GV: ThS.Lê Đình Ngân Trang 2 TRƯỜNG ĐẠI HỌC BC MARKETING KHOA TIN HỌC QUẢN LÝ ******** Lớp: Tin học - Kế Toán Lý thuyết: 30 tiết Thực hành: 60 tiết Giảng viên: ThS.Lê Đình Ngân BÀI TẬP 1: Chuyên đề Lương – Nhân sự Cho CSDL quản lý lương – nhân sự (LuongNS.MDB) như sau: 1. Tạo các Tables sau để quản lý nhân sự - lương: 1.1. Table TblHosonhanvien: FieldName FieldType FieldSize Description MaNV Text 5 Mã nhân viên - Primary Key MaBP Text 4 Mã bộ phận - Foreign Key – Lookup MaCV Text 4 Mã chức vụ - Foreign Key – Lookup Holot Text 40 Họ lót – Not Null Teb Text 10 Tên – Not Null 1.2. Table TblLylich: FieldName FieldType FieldSize Description MaNV Text 5 Mã nhân viên - Primary Key MaCM Text 5 Mã chuyên môn - Foreign Key – Lookup MaNN Text 5 Mã ngoại ngữ - Foreign Key – Lookup MaTP Text 3 Mã thành phần – Foreign Key – Lookup MaTT Text 5 Mã tình trạng gia đình – Foreign Key – Lookup MaTG Text 5 Mã tôn giáo – Foreign Key – Lookup MaTD Text 5 Mã trình độ - Foreign Key – Lookup Phai Yes/No Phái: Yes (nam) / No (nữ) Ngaysinh DateTime ShortDate Ngày sinh CMND Text 9 Số CMND – Candidate Quequan Text 40 Quê quán Trường Đại học BC Marketing – Khoa Tin Học Quản lý Trang 3 DCLL Text 40 Địa chỉ liên lạc Email Hyperlink Địa chỉ Email MobileNumber Text 10 Số di động Hinh OleObjects Hình Ghichu Memo Ghi chú 1.3. Table TblDanhmucchucvu: FieldName FieldType FieldSize Description MaCV Text 4 Mã chức vụ - Primary Key TenCV Text 40 Tên chức vụ Phucap Number Long Integer Phụ cấp chức vụ 1.4. Table TblDanhmucbophan: FieldName FieldType FieldSize Description MaBP Text 4 Mã bộ phận - Primary Key TenBP Text 40 Tên bộ phận Diachi Text 40 Địa chỉ bộ phận SoDT Text 15 Số điện thoại Email Hyperlink Địa chỉ Email 1.5. Table TblDanhmuchuyenmon: FieldName FieldType FieldSize Description MaCM Text 5 Mã chuyên môn - Primary Key TenCM Text 40 Tên chuyên môn 1.6. Table TblDanhmucngoaingu: FieldName FieldType FieldSize Description MaNN Text 5 Mã ngoại ngữ - Primary Key TenNN Text 40 Tên trình độ ngoại ngữ 1.7. Table TblDanhmucthanhphan: FieldName FieldType FieldSize Description MaTP Text 3 Mã thành phần - Primary Key TenTP Text 40 Tên thành phần 1.8. Table TblDanhmuctinhtrang: Bài tập MS.Access II – GV: ThS.Lê Đình Ngân Trang 4 FieldName FieldType FieldSize Description MaTT Text 5 Mã tình trạng gia đình - Primary Key TenTT Text 40 Tên tình trạng 1.9. Table TblDanhmuctongiao: FieldName FieldType FieldSize Description MaTG Text 5 Mã tôn giáo - Primary Key TenTG Text 40 Tên tôn giáo 1.10. Table TblDanhmuctrinhdo: FieldName FieldType FieldSize Description MaTD Text 5 Mã trình độ - Primary Key TenTD Text 40 Tên trình độ 1.11. Table TblHosoluong: FieldName FieldType FieldSize Description MaNV Text 5 Mã nhân viên - Primary Key Mangach Text 6 Mã số ngạch – Foreign Key – Lookup Bac Number Byte Bậc lương – Combobox Hesoluong Number Single Hệ số lương 1.12. Table TblNgachluong: FieldName FieldType FieldSize Description Mangach Text 6 Mã số ngạch – Primary Key Tenngach Text 40 Tên ngạch lương Sobac Number Byte Số bậc lương 1.13. Table TblDGLSP (Đơn giá lương sản phẩm): FieldName FieldType FieldSize Description MaSP Text 5 Mã sản phẩm – Primary Key TenSP Text 40 Tên sản phẩm hoàn thành Dongia Number Long Integer Đơn giá lương sản phẩm 1.14. Tabe TblCCGT (Chấm công gián tiếp): FieldName FieldType FieldSize Description MaNV Text 5 Mã nhân viên – Primary Key NgayLV Number Byte Ngày làm việc Trường Đại học BC Marketing – Khoa Tin Học Quản lý Trang 5 NgayCT Number Byte Ngày công tác Ngayphep Number Byte Ngày nghỉ phép Ngayom Number Byte Ngày nghỉ ốm NgayKP Number Byte Ngày nghỉ không phép Caba Number Byte Số công ca 3 1.15. Table TblCCTT (chấm công trực tiếp): FieldName FieldType FieldSize Description MaNV Text 5 Mã nhân viên – Primary Key MaSP Text 5 Mã sản phẩm – Foreign Key – Lookup Soluong Number Long Integer Số lượng sản phẩm hoàn thành Caba Number Byte Số công ca 3 1.16. Table TblLuongthang (lương tháng): FieldName FieldType FieldSize Description MaNV Text 5 Mã nhân viên – Primary Key Luongky1 Number LongInteger Lương kỳ 1 Luongky2 Number Long Integer Lương kỳ 2 PCTN Number Long Integer Phụ cấp trách nhiệm PCDH Number Long Integer Phụ cấp độc hại PCCA3 Number Long Integer Phụ cấp ca 2 BHXH Number Long Integer Bảo hiểm xã hội BHYT Number Long Integer Bảo hiểm y tế Antrua Number Long Integer Tiền ăn trưa ThuongNS Number Long Integer Thưởng năng suất ThueTN Number Long Integer Thuế thu nhập cá nhân 2. Tạo các Tables phân quyền đăng nhập: 2.1. Table TblDanhsach (danh sách người sử dụng): FieldName FieldType FieldSize Description MaNSD Text 6 Mã người sử dụng - Primary Key Manhom Text 2 Mã nhóm – Lookup Tendangnhap Text 20 Tên đăng nhập Matkhau Text 10 Mậ khẩu đăng nhập 2.2. Table TblPhanquyen (phân quyền sử dụng): Bài tập MS.Access II – GV: ThS.Lê Đình Ngân Trang 6 FieldName FieldType FieldSize Description Manhom Text 2 Mã nhóm - Primary Key Tennhom Text 20 Tên nhóm Quyen Number Byte Quyền sử dụng 3. Thiết lập quan hệ giữa các Tables trên: 4. Thiết kế Form: 4.1. Form giới thiệu chương trình (FrmGioithieu): Yêu cầu: Form chứa một Label Hyperlink đến địa chỉ Email. Form mở ra trong vòng 1 giây, sau đó tự động đóng lại và mở Form đăng nhập. Tương tự như trên, SV làm Form giới thiệu chương trình của mình. Trường Đại học BC Marketing – Khoa Tin Học Quản lý Trang 7 4.2. Form đăng nhập (FrmDangnhap): Yêu cầu: Nhập thông tin: tên đăng nhập (TxtTendangnhap) và mật khẩu (TxtMatkhau). Khi bấm nút đăng nhập (CmdDangnhap), chương trình sẽ kiểm tra: Nếu đúng tên đăng nhập và mật khẩu: đóng Form FrmDangnhap và mở Form chính (FrmMainForm). Nếu sai tên đăng nhập hoặc mật khẩu: xoá các Textbox TxtTendangnhap và TxtMatkhau, sau đó bắt nhập lại. Phần phát triển: Xây dựng một Combobox (CboNhom) phân nhóm người sử dụng. Sau khi nhập tên đăng nhập (TxtTendangnhap), mật khẩu (TxtMatkhau) và chọn nhóm người sử dụng (CboNhom), chương trình sẽ kiểm tra thông tin trong Table TblDanhsach: Nếu đúng: đóng Form FrmDangnhap và mở MainForm (FrmMainForm) Nếu sai: xoá các Textbox và bắt nhập lại. 4.3. Form chính (FrmMainForm): Bài tập MS.Access II – GV: ThS.Lê Đình Ngân Trang 8 Yêu cầu: Xây dựng một TreeView cho MainForm (xem hình), các nút (Nodes) của TreeView được gắn với các File đồ họa (Download tại thư mục Dinhngan\Graphics của ổ dĩa mạng). Xây dựng một UserMenu thay thế System Menu của Access. Dạng UserMenu như sau: Khi chọn “Thoát về Access”: đóng MainForm về trở về CSDL Access. Khi chọn ”Thoát về Windows”: đóng CSDL Access và thoát về Windows. (GHI CHÚ: Sv phải thiết kế bằng Macros, không được dùng Wizard) Khi người sử dụng bấm chọn một mục trên TreeView thì Form tương ứng sẽ được hiển thị trong MainForm. Khi hiển thị trên MainForm, các Form này phải đảm bảo các thuộc tính sau: Vị trí xuất hiện: cạnh TreeView (không được che khuất TreeView). Vị trí của Form phải được cố định, không thể di chuyển. 4.4. Form chấm công gián tiếp (FrmCCGT): Trường Đại học BC Marketing – Khoa Tin Học Quản lý Trang 9 Yêu cầu: Khi chấm công trên Form thì chương trình tự động cập nhật vào Table tương ứng. Chỉ đưa vào Listbox những nhân viên thuộc bộ phận gián tiếp (Ban giám đốc, phòng Kế toán – Tài vụ, phòng Kinh doanh, …) Khi chọn nút Xem lương (CmdXemluong), chương trình sẽ tự động tính toán lương và xuất ra bảng lương bộ phận gián tiếp. 4.5. Form chấm công trực tiếp (FrmCCTT): Bài tập MS.Access II – GV: ThS.Lê Đình Ngân Trang 10 Yêu cầu: Chọn công nhân muốn chấm công trong Combobox, thông tin tương ứng của công nhân sẽ hiển thị trên Form. Chọn mã sản phẩm hoàn thành, số lượng sản phẩm hoàn thành, chương trình sẽ tự động tính lương sản phẩm và cập nhật vào Textbox tương ứng. Thêm nút “In Lương” CmdInluong vào Form, khi bấm nút này sẽ hiển thị bảng lương công nhân trực tiếp sản xuất. 4.6. Form cập nhật hồ sơ nhân viên (FrmCapnhat): [...]... Trư ng i h c BC Marketing – Khoa Tin H c Qu n lý Trang 15 BÀI T P 2: L p trình trong MS .Access: Sinh viên có th s d ng ti p CSDL Access câu 1 ho c t o CSDL Access m i 1 T o Form tính lương (FrmTinhluong) như sau: u c u x lý: Khi b m nút th c hi n, chương trình s : Ki m tra Table ch m cơng tương ng trong CSDL Access, tên Table ch m cơng ư c t theo quy ư c sau: − Các ký t − T 1 u: “TblChamcong” n 2 ký t... ký t k ti p ch tháng − 4 ký t k ti p ch năm N u khơng tìm th y thì xu t hi n thơng báo: N u ch n OK, chương trình s t ng t o Table ch m cơng c a tháng m i N u ch n Cancel, s thốt kh i chương trình N u tìm th y Table ch m cơng tương ng thì cho phép m Form ch m cơng 2 Thi t k các hàm sau trong MS .Access: 2.1 Vi t hàm tính ti n lương s n ph m có thư ng theo phương pháp lu ti n: Hàm có 2 i s (Arguments):... c, cơng tác,…) và lương lãnh Cho bi t cách tính lương như sau: − − − − Lương lãnh bao g m c ph c p (n u có) Ngày làm vi c, cơng tác, phép: ư c hư ng 100% lương Ngày ngh m: hư ng 85% lương Ngh khơng phép: khơng có lương Đơn giá ngày công (đồng/nga øy) = Lương căn bản 26 ngày f) Cho bi t t ng ngày cơng ngh m c a t ng b ph n trong tháng Thơng tin k t xu t bao g m: mã b ph n, tên b ph n, t ng ngày cơng... (CmdTimnhanvien), chương trình s xu t hi n h p tho i cho phép nh p mã nhân viên mu n tìm N u tìm th y thì c p nh t vào Form N u khơng tim th y s xu t hi n thơng báo Bài t p MS .Access II – GV: ThS.Lê ình Ngân Trang 12 Khi b m nút “In danh sách” (CmdIndanhsach), chương trình s xu t hi n SubMenu cho phép ch n danh sách b ph n c n in Khi ch n b ph n c n in và b m nút “In danh sách” (CmdIn), chương trình s ti n hành... Khoa Tin H c Qu n lý Trang 13 Khi ch n mã s ng ch lương và b c lương, chương trình s t lương và tính lương căn b n ng c p nh t h s C p nh t thơng tin vào Textbox và Table tương ng 4.8 Thi t k các chương trình sau (t thi t k giao di n): 4.8.1 T m ng lương: cho phép CNVC ư c t m ng 50% lương cơ b n vào u tháng Cho bi t: Lương cơ bản (đồng/thá ng) = Lương tối thiểu (đồng/thá ng) x Hệ số lương (Lương t... p MS .Access II – GV: ThS.Lê ình Ngân Trang 14 d) Li t kê danh sách ban giám c (mã b ph n là “BGD”) Thơng tin k t xu t bao g m: mã nhân viên, h và tên, tên ch c v , phái (in ra “nam” ho c “n ”), tu i, trình , lương căn b n, ph c p e) In danh sách b ng lương s p x p theo t ng b ph n Thơng tin k t xu t bao g m: mã nhân viên, h và tên, tên b ph n, tên ch c v , lương căn b n, ph c p, các d ng ngày cơng... th 2: s lư ng s n ph m hồn thành Hàm tr v m t giá tr (Return Value) ki u s , mang ý nghĩa là lương s n ph m c a m i cơng nhân căn c vào mã s n ph m và s lư ng s n ph m hồn thành, ư c nghi m thu theo úng quy cách, ch t lư ng Cho bi t: Cách xác nh nh m c và ơn giá s n ph m: Bài t p MS .Access II – GV: ThS.Lê ình Ngân Trang 16 Mã s n ph m nh m c s n ph m (s n ph m/tháng) ơn giá lương SP ( ng/s nph m) A... − Cho bi t: • Cơng th c tính ti n i n: Đơn giá Số Kwh tiêu thụ Đơn giá Tiền điện Số Kwh tiêu thụ = trong đònh mức x trong đònh mức + vượt đònh mức x vượt đònh mức (đồng/tha ùng) • T ng s ti n i n ph i thanh tốn: Tiền thanh toán (đồng/tha ùng) • Thơng tin v = chi phí chi phí + tiền điện x 10% thuế VAT tiền điện nh m c và ơn giá: Bài t p MS .Access II – GV:... ch ng t : “10/25” − Lo i ch ng t : “T01” − Mã s khách hàng: “NB01” Trư ng i h c BC Marketing – Khoa Tin H c Qu n lý − − − − Trang 19 Ngày vi t: 10/10/2005 Di n gi i: “A.Hùng phòng Kinh doanh t m ng i cơng tác” Tài kho n n : 141 Tài kho n có: 111 (Lưu ý: ch c p nh t thơng tin cho các Fields k trên) f) Vi t câu Query t p h p các ch ng t pháp sinh c a q 1/2005 (l y t Tblthang012005, Tblthang022005, Tblthang032005... vào Table TblDanhsachkhachhang, thơng tin v m u tin m i tuỳ ý g) Vi t th t c c p nh t d li u vào m u tin có mã s ch ng t “T10/20”, n i dung c p nh t là tăng s ti n phát sinh thêm 25.000 ng Bài t p MS .Access II – GV: ThS.Lê ình Ngân Trang 20 h) Vi t th t c xố m t m u tin (tuỳ ý) trong Table TblDanhmucthanhpho 4 Truy xu t d li u Recordset ki u Table: 4.1 T o m t Form như sau (FrmRecordset): 4.2 Vi t . Marketing – Khoa Tin Học Quản lý Trang 15 BÀI TẬP 2: Lập trình trong MS .Access: Sinh viên có thể sử dụng tiếp CSDL Access ở câu 1 hoặc tạo CSDL Access mới. 1. Tạo Form tính lương (FrmTinhluong). thay thế System Menu của Access. Dạng UserMenu như sau: Khi chọn “Thoát về Access : đóng MainForm về trở về CSDL Access. Khi chọn ”Thoát về Windows”: đóng CSDL Access và thoát về Windows bản, phụ cấp, các dạng ngày cơng (làm việc, cơng tác,…) và lương lãnh. Cho biết cách tính lương như sau: − Lương lãnh bao gồm cả phụ cấp (nếu có) − Ngày làm việc, cơng tác, phép: được hưởng