1. Trang chủ
  2. » Công Nghệ Thông Tin

Lập trình cơ sở dữ liệu Access

21 527 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 21
Dung lượng 2,4 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Bài tập access nâng cao, hướng dẫn lập trình CSDL

Trang 1

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 -

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

1.2. Table TblLylich:

FieldName FieldType FieldSize Description

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

Ngaysinh DateTime ShortDate Ngày sinh

Trang 3

DCLL Text 40 Địa chỉ liên lạc

MobileNumber Text 10 Số di động

1.3. Table TblDanhmucchucvu:

FieldName FieldType FieldSize Description

Phucap Number Long Integer Phụ cấp chức vụ

1.4. Table TblDanhmucbophan:

FieldName FieldType FieldSize Description

1.5. Table TblDanhmuchuyenmon:

FieldName FieldType FieldSize Description

1.6. Table TblDanhmucngoaingu:

FieldName FieldType FieldSize Description

1.7. Table TblDanhmucthanhphan:

FieldName FieldType FieldSize Description

1.8. Table TblDanhmuctinhtrang:

Trang 4

FieldName FieldType FieldSize Description

MaTT Text 5 Mã tình trạng gia đình - Primary Key

1.9. Table TblDanhmuctongiao:

FieldName FieldType FieldSize Description

1.10. Table TblDanhmuctrinhdo:

FieldName FieldType FieldSize Description

1.11. Table TblHosoluong:

FieldName FieldType FieldSize Description

Mangach Text 6 Mã số ngạch – Foreign Key – Lookup

Hesoluong Number Single Hệ số lương

1.12. Table TblNgachluong:

FieldName FieldType FieldSize Description

Mangach Text 6 Mã số ngạch – Primary Key

1.13. Table TblDGLSP (Đơn giá lương sản phẩm):

FieldName FieldType FieldSize Description

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

NgayLV Number Byte Ngày làm việc

Trang 5

NgayCT Number Byte Ngày công tác

Ngayphep Number Byte Ngày nghỉ phép

NgayKP Number Byte Ngày nghỉ không phép

1.15. Table TblCCTT (chấm công trực tiếp):

FieldName FieldType FieldSize Description

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

1.16. Table TblLuongthang (lương tháng):

FieldName FieldType FieldSize Description

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

Tendangnhap Text 20 Tên đăng nhập

2.2. Table TblPhanquyen (phân quyền sử dụng):

Trang 6

FieldName FieldType FieldSize Description

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

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):

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):

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):

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):

Trang 11

Yêu cầu:

 Khi bấm nút “Tìm theo mã nhân viên” (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

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

in danh sách bộ phận cần in Dạng tổng quát bộ phận cần in:

4.7 Thiết kế Form cập nhật hồ sơ lương (FrmCapnhatHSL):

Trang 13

 Khi chọn mã số ngạch lương và bậc lương, chương trình sẽ tự động cập nhật hệ số lương và tính lương căn bản

 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ươngsốHệ ng)đồng/thá

thiểutốiLương ng)đồng/thá

bảncơLương

GHI CHÚ: sau khi tính tốn, số liệu được cập nhật vào Table lương tháng (TblLuongthang)

5 Thiết kế các câu truy vấn (Queries) sau:

(Lưu ý: SV thiết kế bằng cách viết lệnh, khơng dùng chế độ Query Design)

a) Cho biết tổng số nhân viên của từng bộ phận Thơng tin kết xuất bao gồm: tên bộ phận, tổng số nhân viên của bộ phận

b) Liệt kê những nhân viên phịng Kế tốn – Tài vụ (mã bộ phận là “KTTV”), cĩ phái là

nữ (No) và tuổi từ 25 trở lê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 phái (xuất ra là “Nam” hoặc “Nữ”), tuổi

c) Liệt kê những nhân viên phịng Kinh doanh (mã bộ phận là “KD”) cĩ mức lương căn bản thấp nhất Thơng tin kết xuất bao gồm: mã nhân viên, họ và tên, tên bộ phận, lương căn bả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 (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 100% lương

− Ngày nghỉ ốm: hưởng 85% lương

− Nghỉ khơng phép: khơng cĩ lương

ngày26

bảncăn

Lươngøy)

(đồng/nga

côngngàygiá

Đơn

=

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 nghỉ ốm của bộ phận Sắp xếp thứ tự theo mã bộ phận

g) Cho biết tổng lương lãnh của từng bộ phận Thơng tin kết xuất bao gồm: mã bộ phận, tên bộ phận, tổng lương lãnh của bộ phận, tổng phụ cấp của bộ phận

h) Cho biết nhân viên nào cĩ số ngày làm việc cao nhất Thơng tin kết xuất bao gồm: mã nhân viên họ và tên, tên bộ phận, lương căn bản, số ngày làm việc

i) Liệt kê những nhân viên thoả điều kiện sau:

− Thuộc bộ phận “KTTV” hoặc “KD” hoặc “PX1”

− Chức vụ là nhân viên (“NV”)

− Sinh trong tháng 5 và 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 bộ phận, họ và tên, tên chức vụ, ngày sinh Sắp xếp thứ tự theo mã bộ phận

j) Viết Query cập nhật thêm một mẫu tin mới vào Table TblDanhmucchucvu như sau:

− Mã chức vụ: PQD

− Tên chức vụ: Quản đốc phân xưởng

− Phụ cấp: 1.200.000

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:

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 trong CSDL Access, tên Table chấm công được đặt theo quy ước sau:

− Các ký tự đầu: “TblChamcong”

− Từ 1 đến 2 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ẽ thoá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):

 Đố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ả 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 hoà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:

Trang 16

 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 hồn thành vượt trên 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ĩ 2 đố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ả về một giá trị (Return Value) kiểu số, mang ý nghĩa là tiền nước phải thanh tốn, căn

cứ vào khối lượng nước tiêu thụ

/ (đồng

mức định trong nước

giá Đơn m

/ (đồng

mức định vượt nước giá

Đơn

3 3

)

− Thuế VAT: 10% trên tổng số tiền nước phải thanh tốn

− Tổng trị giá hố đơn phải thanh tốn:

Trang 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 một hàm XEPLOAI như sau:

− Function này cĩ 1 đối số truyền đến mang kiểu số thực, là điểm trung bình

− Hàm trả về một giá trị mang kiểu chuỗi, là loại học tập được xếp căn cứ vào điểm trung bình

− Function này cĩ 3 đối số:

 Đối số thứ nhất kiểu chuỗi, mang ý nghĩa là loại khách hàng

 Đối số thứ hai và thứ ba kiểu số, mang ý nghĩa là chỉ số đầu và chỉ số cuối của đồng hồ điện

− Hàm trả về một giá trị kiểu số, mang ý nghĩa là tiền điện mà khách hàng phải thanh tốn

mứcđịnhvượt

thụtiêuKwhSốmức

địnhtrong

giáĐơnx

mứcđịnhtrong

thụtiêuKwhSố ùng)(đồng/tha

điệnTiền

• Tổng số tiền điện phải thanh tốn:

điệntiền

phíchiđiện

tiền

phíchi ùng)(đồng/tha

toánthanhTiền

• Thơng tin về định mức và đơn giá:

Trang 18

Loại khách hàng định mức

(Kwh/tháng)

Đơn giá trong định mức (đồng/kwh)

Đơn giá vượt định mức (đồng/kwh)

3 Tạo các Tables có quan hệ như sau để lưu trữ các chứng từ phát sinh (SV tự thiết kế thuộc tính)

3.1 Viết các câu truy vấn (Queries) sau:

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ã

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 quý 1/2005 (lấy từ 3 Tables: Tblthang012005, Tblthang022005, Tblthang032005

g) Liệt kê các chứng từ phát sinh trong ngày chẵn?

h) Liệt kê các chứng từ xuất tiền mặt của những ngày lẻ?

i) Cho biết tổng số tiền tạm ứng của các bộ phận trong tháng?

j) Liệt kê các chứng từ có số tiền phát sinh lớn nhất?

k) Viết Query in ra bảng cân đối tài khoản theo dạng như sau:

3.2 Thủ tục (Procedures): viết những Procedures sau:

a) Viết một thủ tục in ra các hoá đơn tạm ứng (có tài khoản 141, nợ tài khoản 111), xuất kết quả trong DataSheet

b) Viết thủ tục kiểm tra hoá đơn mang mã số “T10/25” đã có trong Table TblChungtu10/2005 hay chưa? Xuất thông báo trong MessageBox

c) Viết thủ tục in ra danh sách các hoá đơn trong Table TblChungtu10/2005, xuất kết quả trong DataSheet

d) Viết thủ tục xuất ra tuần tự từng khách hàng trong Table TblDanhmuckhachhang, xuất kết quả trong MessageBox

e) Viết thủ tục in ra tổng số tiền phát sinh của các chứng từ trong Table TblChungtu10/2005, xuất kết quả trong MessageBox

f) Viết thủ tục thêm một mẫu tin 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

Trang 20

h) Viết thủ tục xoá 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 các thủ tục cho các nút lệnh:

4.2.1 Nút lệnh của Table Recordset 1:

 Mở 2 Tables bất kỳ và đếm số Records của 2 Tables này

 Xuất thông báo kết quả

4.2.2 Nút lệnh của Table Recordset 2:

 Mở 2 Tables bất kỳ và đếm số Records của Table này

 Xuất thông báo kết quả

Ngày đăng: 10/04/2014, 10:29

TỪ KHÓA LIÊN QUAN

w