a) Cho biết có bao nhiêu khách hàng tại từng thành phố. Thông tin kết xuất bao gồm: mã số khách hàng, tên khách hàng, tên thành phố và tổng số khách hàng. b) Cho biết tổng số tiền nộp v[r]
(1)KHOA TIN HỌC QUẢN LÝ
Dùng cho 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
(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
Cho CSDL quản lý lương – nhân (LuongNS.MDB) sau: 1. Tạo Tables sau để quản lý nhân sự - lương:
1.1 Table TblHosonhanvien:
FieldName FieldType FieldSize Description MaNV Text Mã nhân viên - PrimaryKey
MaBP Text Mã phận - ForeignKey – Lookup
MaCV Text Mã chức vụ - ForeignKey – Lookup
Holot Text 40 Họ lót – NotNull
Teb Text 10 Tên – NotNull
1.2 Table TblLylich:
FieldName FieldType FieldSize Description MaNV Text Mã nhân viên - PrimaryKey
MaCM Text Mã chuyên môn - ForeignKey – Lookup
MaNN Text Mã ngoại ngữ - ForeignKey – Lookup
MaTP Text Mã thành phần – ForeignKey – Lookup
MaTT Text Mã tình trạng gia đình – ForeignKey – Lookup
MaTG Text Mã tôn giáo – ForeignKey – Lookup
MaTD Text Mã trình độ - ForeignKey – Lookup
Phai Yes/No Phái: Yes (nam) / No (nữ) Ngaysinh DateTime ShortDate Ngày sinh
CMND Text Số CMND – Candidate
(3)DCLL Text 40 Địa liên lạc
Email Hyperlink Địa Email
MobileNumber Text 10 Số di động
Hinh OleObjects Hình
Ghichu Memo Ghi
1.3.Table TblDanhmucchucvu:
FieldName FieldType FieldSize Description
MaCV Text Mã chức vụ - PrimaryKey
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 Mã phận - PrimaryKey
TenBP Text 40 Tên phận
Diachi Text 40 Địa phận
SoDT Text 15 Số điện thoại
Email Hyperlink Địa Email
1.5 Table TblDanhmuchuyenmon:
FieldName FieldType FieldSize Description MaCM Text Mã chuyên môn - PrimaryKey
TenCM Text 40 Tên chuyên môn
1.6 Table TblDanhmucngoaingu:
FieldName FieldType FieldSize Description MaNN Text Mã ngoại ngữ - PrimaryKey
TenNN Text 40 Tên trình độ ngoại ngữ 1.7 Table TblDanhmucthanhphan:
FieldName FieldType FieldSize Description MaTP Text Mã thành phần - PrimaryKey
TenTP Text 40 Tên thành phần
(4)FieldName FieldType FieldSize Description
MaTT Text Mã tình trạng gia đình - PrimaryKey
TenTT Text 40 Tên tình trạng
1.9 Table TblDanhmuctongiao:
FieldName FieldType FieldSize Description MaTG Text Mã tôn giáo - PrimaryKey
TenTG Text 40 Tên tôn giáo
1.10 Table TblDanhmuctrinhdo:
FieldName FieldType FieldSize Description MaTD Text Mã trình độ - PrimaryKey
TenTD Text 40 Tên trình độ
1.11 Table TblHosoluong:
FieldName FieldType FieldSize Description MaNV Text Mã nhân viên - PrimaryKey
Mangach Text Mã số ngạch – ForeignKey – 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 Mã số ngạch – PrimaryKey
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 Mã sản phẩm – PrimaryKey
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 Mã nhân viên – PrimaryKey
(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
1.15 Table TblCCTT (chấm công trực tiếp):
FieldName FieldType FieldSize Description MaNV Text Mã nhân viên – PrimaryKey
MaSP Text Mã sản phẩm – ForeignKey – Lookup
Soluong Number Long Integer Số lượng sản phẩm hoàn thành
Caba Number Byte Số công ca
1.16 Table TblLuongthang (lương tháng):
FieldName FieldType FieldSize Description MaNV Text Mã nhân viên – PrimaryKey
Luongky1 Number LongInteger Lương kỳ Luongky2 Number Long Integer Lương kỳ
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 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 suất ThueTN Number Long Integer Thuế thu nhập cá nhân 2. Tạo 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 Mã người sử dụng - Primary Key
Manhom Text Mã nhóm – Lookup
Tendangnhap Text 20 Tên đăng nhập
Matkhau Text 10 Mậ đăng nhập
(6)FieldName FieldType FieldSize Description
Manhom Text 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 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 Label Hyperlink đến địa Email
(7)4.2 Form đăng nhập (FrmDangnhap):
Yêu cầu:
Nhập thông tin: tên đăng nhập (TxtTendangnhap) mật (TxtMatkhau) Khi bấm nút đăng nhập (CmdDangnhap), chương trình kiểm tra:
Nếu tên đăng nhập mật khẩu: đóng Form FrmDangnhap mở Form (FrmMainForm)
Nếu sai tên đăng nhập mật khẩu: xoá Textbox TxtTendangnhap TxtMatkhau, sau bắt nhập lại
Phần phát triển:
Xây dựng Combobox (CboNhom) phân nhóm người sử dụng
Sau nhập tên đăng nhập (TxtTendangnhap), mật (TxtMatkhau) chọn nhóm người sử dụng (CboNhom), chương trình kiểm tra thơng tin Table TblDanhsach:
Nếu đúng: đóng Form FrmDangnhap mở MainForm (FrmMainForm) Nếu sai: xoá Textbox bắt nhập lại
(8)Yêu cầu:
Xây dựng TreeView cho MainForm (xem hình), nút (Nodes) TreeView gắn với File đồ họa (Download thư mục Dinhngan\Graphics ổ dĩa mạng) Xây dựng UserMenu thay SystemMenu Access Dạng UserMenu sau:
Khi chọn “Thoát Access”: đóng MainForm trở CSDL Access Khi chọn ”Thốt Windows”: đóng CSDL Access Windows
(GHI CHÚ: Sv phải thiết kế Macros, không dùng Wizard)
Khi người sử dụng bấm chọn mục TreeView Form tương ứng hiển thị MainForm Khi hiển thị MainForm, Form phải đảm bảo thuộc tính sau:
Vị trí xuất hiện: cạnh TreeView (khơng che khuất TreeView) Vị trí Form phải cố định, di chuyển
(9)Yêu cầu:
Khi chấm công Form chương trình tự động cập nhật vào Table tương ứng Chỉ đưa vào Listbox nhân viên thuộc phận gián tiếp (Ban giám đốc,
phòng Kế tốn – Tài vụ, phịng Kinh doanh, …)
Khi chọn nút Xem lương (CmdXemluong), chương trình tự động tính tốn lương xuất bảng lương phận gián tiếp
(10)Yêu cầu:
Chọn công nhân muốn chấm công Combobox, thông tin tương ứng công nhân hiển thị Form
Chọn mã sản phẩm hoàn thành, số lượng sản phẩm hồn thành, chương trình tự động tính lương sản phẩm cập nhật vào Textbox tương ứng
Thêm nút “In Lương” CmdInluong vào Form, bấm nút hiển thị bảng lương công nhân trực tiếp sản xuất
(11)Yêu cầu:
Khi bấm nút “Tìm theo mã nhân viên” (CmdTimnhanvien), chương trình xuất hộp thoại cho phép nhập mã nhân viên muốn tìm
Nếu tìm thấy cập nhật vào Form
(12)Khi bấm nút “In danh sách” (CmdIndanhsach), chương trình xuất SubMenu cho phép chọn danh sách phận cần in
Khi chọn phận cần in bấm nút “In danh sách” (CmdIn), chương trình tiến hành in danh sách phận cần in Dạng tổng quát phận cần in:
(13)Khi chọn mã số ngạch lương bậc lương, chương trình tự động cập nhật hệ số lương tính lương
Cập nhật thông tin vào Textbox Table tương ứng 4.8 Thiết kế chương trình sau (tự thiết kế giao diện):
4.8.1 Tạm ứng lương: cho phép CNVC tạm ứng 50% lương vào đầu tháng Cho biết: lương số Hệ x ng) đồng/thá thiểu tối Lương ng) đồng/thá Lương ( ( =
(Lương tối thiểu Quốc hội thông qua 540.000 đồng/tháng) 4.8.2 Tính bảo hiểm xã hội
4.8.3 Tính bảo hiểm y tế
GHI CHÚ: sau tính tốn, số liệu cập nhật vào Table lương tháng (TblLuongthang) 5. Thiết kế câu truy vấn (Queries) sau:
(Lưu ý: SV thiết kế cách viết lệnh, không dùng chế độ Query Design)
a) Cho biết tổng số nhân viên phận Thông tin kết xuất bao gồm: tên phận, tổng số nhân viên phận
b) Liệt kê nhân viên phịng Kế tốn – Tài vụ (mã phận “KTTV”), có phái nữ (No) tuổi từ 25 trở lên Thông tin kết xuất bao gồm: mã nhân viên, họ tên, tên phận, tên phái (xuất “Nam” “Nữ”), tuổi
(14)d) Liệt kê danh sách ban giám đốc (mã phận “BGD”) Thông tin kết xuất bao gồm: mã nhân viên, họ tên, tên chức vụ, phái (in “nam” “nữ”), tuổi, trình độ, lương bản, phụ cấp
e) In danh sách bảng lương xếp theo phận Thông tin kết xuất bao gồm: mã nhân viên, họ tên, tên phận, tên chức vụ, lương bản, phụ cấp, dạng ngày công (làm việc, cơng tác,…) lương lãnh
Cho biết cách tính lương sau:
− Lương lãnh bao gồm phụ cấp (nếu có)
− Ngày làm việc, cơng tác, phép: hưởng 100% lương − Ngày nghỉ ốm: hưởng 85% lương
− Nghỉ khơng phép: khơng có lương
ngày 26 Lương øy) (đồng/nga công ngày giá Đơn =
f) Cho biết tổng ngày công nghỉ ốm phận tháng Thông tin kết xuất bao gồm: mã phận, tên phận, tổng ngày công nghỉ ốm phận Sắp xếp thứ tự theo mã phận
g) Cho biết tổng lương lãnh phận Thông tin kết xuất bao gồm: mã phận, tên phận, tổng lương lãnh phận, tổng phụ cấp phận
h) Cho biết nhân viên có số ngày làm việc cao Thông tin kết xuất bao gồm: mã nhân viên họ tên, tên phận, lương bản, số ngày làm việc
i) Liệt kê nhân viên thoả điều kiện sau:
− Thuộc phận “KTTV” “KD” “PX1” − Chức vụ nhân viên (“NV”)
− Sinh tháng có số tuổi từ 30 trở lên
Thông tin kết xuất bao gồm: mã nhân viên, tên phận, họ tên, tên chức vụ, ngày sinh Sắp xếp thứ tự theo mã phận
j) Viết Query cập nhật thêm mẫu tin vào Table TblDanhmucchucvu sau:
− Mã chức vụ: PQD
(15)BÀI TẬP 2: Lập trình MS.Access:
Sinh viên sử dụng tiếp CSDL Access câu tạo CSDL Access Tạo Form tính lương (FrmTinhluong) sau:
Yê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 CSDL Access, tên Table chấm công đặt theo quy ước sau:
− Các ký tự đầu: “TblChamcong” − Từ đến ký tự tháng − ký tự năm
Nếu khơng tìm thấy xuất thơng báo:
Nếu chọn OK, chương trình tự động tạo Table chấm công tháng Nếu chọn Cancel, khỏi chương trình
Nếu tìm thấy Table chấm cơng tương ứng cho phép mở Form chấm công Thiết kế hàm sau 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ó đối số (Arguments):
Đối số thứ 1: mã sản phẩm (“A”,”B”,”C”) Đối số thứ 2: số lượng sản phẩm hoàn thành
Hàm trả giá trị (ReturnValue) kiểu số, mang ý nghĩa lương sản phẩm công nhân vào mã sản phẩm số lượng sản phẩm hoàn thành, nghiệm thu theo quy cách, chất lượng
Cho biết:
(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 100 15.000
B 200 10.000
C 400 5.000
Cách tính đơn giá sản phẩm có thưởng:
− Sản phẩm hồn thành<= địnhmức: ĐGSP * 1.0 (khơng có thưởng) − Sản phẩm hồn thành vượt khoảng <=10% định mức:
Đơn giá sản phẩm = ĐGSP * 1.1 (đối với phần vượt từ 101% trở lên)
− Sản phẩm hoàn thành vượt 10% định mức:
Đơn giá sản phẩm = ĐGSP * 1.2 (đối với phần vượt từ 111% trở lên) 2.2. Viết hàm tính tiền nước sinh hoạt theo phương pháp lũy tiến
Hàm có đối số (Arguments):
Đối số thứ 1: mã khách hàng (“SH”, “HCSN”, “KDDV”, “SX”) Đối số thứ 2: khối lượng nước tiêu thụ
Hàm trả giá trị (ReturnValue) kiểu số, mang ý nghĩa tiền nước phải toán, vào khối lượng nước tiêu thụ
Cho biết:
− Cách xác định định mức đơn giá nước định mức:
Mã khách hàng Định mức tiêu thụ (m3/tháng)
Đơn giá nước định mức (đồng/m3)
SH 30 5.500
HCSN 50 6.500
KDDV 80 8.500
SX 200 7.000
− Cách tính đơn giá nước vượt định mức:
1.1 x m / (đồng mức định trong nước giá Đơn m / (đồng mức định vượt nước giá Đơn 3 ) ) =
(17)VAT thuế Tiến có) (Nếu mức định vượt nước Tiền mức định trong nước Tiền ùng) (đồng/tha toán thanh tiền số Tổng + + =
2.3. Viết hàm XEPLOAI sau:
− Function có đối số truyền đến mang kiểu số thực, điểm trung bình
− Hàm trả giá trị mang kiểu chuỗi, loại học tập xếp vào điểm trung
bình
− Cách xếp loại:
ĐIỂM XẾP LOẠI
>9,00 Xuất sắc
>= 8,00 Giỏi
>= 7,00 Khá
>= 5,00 Trung bình
>= 4,00 Kém
<4,00 Yếu
2.4. Viết một hàm TIENDIEN như sau:
− Function có đối số:
Đối số thứ kiểu chuỗi, mang ý nghĩa loại khách hàng
Đối số thứ hai thứ ba kiểu số, mang ý nghĩa số đầu số cuối đồng hồ điện
− Hàm trả giá trị kiểu số, mang ý nghĩa tiền điện mà khách hàng phải toán
− Cho biết:
• Cơng thức tính tiền điện:
+
= SốtrongKwhđịnhtiêumứcthụ xtrongĐơnđịnhgiámức Sốvượt Kwhđịnhtiêumứcthụ x vượt Đơnđịnhgiámức
ùng) (đồng/tha
điện Tiền
• Tổng số tiền điện phải toán:
+
=tiềnchi phíđiện tiềnchi phíđiệnx 10%thuế VAT ùng) (đồng/tha toán Tiền
(18)Loại khách hàng định mức (Kwh/tháng)
Đơn giá định mức (đồng/kwh)
Đơn giá vượt định mức (đồng/kwh)
SH 60 3.500 4.500
HCSN 120 3.500 5.500
SX 500 5.500 7.500
KDDV 400 6.500 8.500
3 Tạo Tables có quan hệ sau để lưu trữ chứng từ phát sinh (SV tự thiết kế thuộc tính)
3.1 Viết câu truy vấn (Queries) sau:
a) Cho biết có khách hàng thành phố Thông tin kết xuất bao gồm: mã số khách hàng, tên khách hàng, tên thành phố tổng số khách hàng
b) Cho biết tổng số tiền nộp vào ngân sách nhà nước Thông tin kết xuất bao gồm: mã tài khoản nợ, mã tài khoản có, tổng số tiền nộp vào ngân sách
c) Liệt kê hoá đơn chi tiền mặt tháng với số tiền lớn 5.000.000 đồng Thông tin kết xuất bao gồm: mã chứng từ, diễn giải, số tiền, tài khoản nợ, tài khoản có
d) Viết Query cập nhật cho chứng từ mang mã số “T10/01”, nội dung cập nhật thêm 5.000 đồng vào số tiền phát sinh
e) Viết Query thêm mẫu tin vào Table TblChungtu102005, nội dung cập nhật sau:
(19)− Ngày viết: 10/10/2005
− Diễn giải: “A.Hùng phịng Kinh doanh tạm ứng cơng tác” − Tài khoản nợ: 141
− Tài khoản có: 111
(Lưu ý: cập nhật thông tin cho Fields kể trên)
f) Viết câu Query tập hợp chứng từ pháp sinh quý 1/2005 (lấy từ Tables: Tblthang012005, Tblthang022005, Tblthang032005
g) Liệt kê chứng từ phát sinh ngày chẵn? h) Liệt kê chứng từ xuất tiền mặt ngày lẻ? i) Cho biết tổng số tiền tạm ứng phận tháng? j) Liệt kê chứng từ có số tiền phát sinh lớn nhất?
k) Viết Query in bảng cân đối tài khoản theo dạng sau:
3.2. Thủ tục (Procedures): viết Procedures sau:
a) Viết thủ tục in hố đơn tạm ứng (có tài khoản 141, nợ tài khoản 111), xuất kết DataSheet
b) Viết thủ tục kiểm tra hoá đơn mang mã số “T10/25” có Table TblChungtu10/2005 hay chưa? Xuất thơng báo MessageBox
c) Viết thủ tục in danh sách hoá đơn Table TblChungtu10/2005, xuất kết DataSheet
d) Viết thủ tục xuất khách hàng Table TblDanhmuckhachhang, xuất kết MessageBox
e) Viết thủ tục in tổng số tiền phát sinh chứng từ Table TblChungtu10/2005, xuất kết MessageBox
f) Viết thủ tục thêm mẫu tin vào Table TblDanhsachkhachhang, thông tin mẫu tin tuỳ ý
(20)h) Viết thủ tục xoá mẫu tin (tuỳ ý) Table TblDanhmucthanhpho Truy xuất liệu Recordset kiểu Table:
4.1 Tạo Form sau (FrmRecordset):
4.2 Viết thủ tục cho nút lệnh:
4.2.1. Nút lệnh của Table Recordset 1:
Mở Tables đếm số Records Tables Xuất thông báo kết
4.2.2. Nút lệnh của Table Recordset 2:
(21)4.2.3. Nút lệnh của Dynaset 1:
Tạo câu truy vấn (Query)
Mở Query tạo đếm số Records Dataset Query Xuất thông báo kết