BÀI TẬP TABLE BÀI 1 1. Tạo một thư mục theo đường dẫn: D:\TenSV 2. Khởi động access, tạo một cơ sở dữ liệu mới tên QLSV lưu trong thư mục TenSV với các đặc tả như sau: - Lớp được phân biệt bằng MaLop. - Mỗi lớp có nhiều sinh viên, các sinh viên được phân biệt nhau bằng MaSV, một sinh viên chỉ thuộc một lớp. - Một sinh viên học nhiều môn học, mỗi môn học được phân biệt bằng MaMH và mỗi môn học được học bởi nhiều sinh viên. - Mỗi sinh viên ứng với mỗi môn học và một lần thi thì chỉ có một kết quả duy nhất. 3. Dùng chức năng table để tạo các bảng trong CSDL đồng thời thiết lập khóa chính cho mỗi bảng như sau: LOP: field Name Data Type Description Field Properties MALOP Text Mã Lớp Field size 10 caption: Mã Lớp TENLOP Text Tên lớp Field size: 30 Format > caption: Tên Lớp GVCN Text Giáo viên CN Field size: 30 Format > caption: Giáo viên CN SINHVIEN: field Name Data Type Description Field Properties MASV Text Mã sinh viên Field size 10 Format > caption: Mã Sinh viên HOSV Text Họ sinh viên Field size: 30 Format > caption: Họ sinh viên TEN Text Tên sinh viên Field size: 20 Format > caption: Tên sinh viên PHAI Yes/No Phái Format: ;”Nam”; “Nữ” LookupDisplay control: Textbox NGAYSINH Date/time Ngày sinh Format : short date input mask: 00/00/00 caption: Ngày sinh DIACHI Text Địa chỉ Field size: 50 caption: Địa chỉ MALOP Text Mã lơp Field size: 10 Format > caption: Mã lớp MONHOC field Name Data Type Description Field Properties MAMH Text Mã môn học field size: 10 format: >[Red] caption: Mã môn học TENMH Text Tên môn học field size: 30 format: >[Blue] caption: Tên môn học SOTC Number Số tín chỉ field size: byte caption: Số tín chỉ KETQUA field Name Data Type Description Field Properties MASV Text Mã sinh viên field size 10 format > caption: Mã Sinh viên MAMH Text Mã môn học field size: 10 format: >[Red] caption: Mã môn học LANTHI Number Lần thi field size: byte caption: Lần thi DIEM Number Điểm field size: Double caption: Điểm 4. Nhập dữ liệu cho các bảng: SINHVIEN MÃ SV HỌ SV TÊN SV PHÁI NGÀY SINH ĐỊA CHỈ MÃLỚP A01 NGUYỄN THỊ LÀNH NỮ 12/10/78 12 NGUYỄN TRẢI Q3 CDCK A02 TRẦN VĂN AN NAM 15/11/76 14 ĐINH TIÊN HOÀNG Q1 CDCK A03 NGUYỄN THỊ HIỀN NỮ 12/02/78 13 TRẨN BÌNH TRỌNG QPN CDCK A04 NGUYỄN THÀNH NHÂN NAM 11/11/80 15 NGUYỄN TRẢI Q3 CDCK B01 LÊ BÁ HẢI NAM 12/12/78 12 NGUYỄN TRẢI Q3 CDTH B02 PHẠM THỊ ĐÔNG NỮ 09/08/79 5 LÊ LAI Q1 CDTH B03 LÊ VĂN PHÚC NAM 01/04/80 12 PHAN VĂN TRỊ QGV CDTH B04 PHẠM VĂN NHẬT NAM 09/04/79 50 PHAN VĂN TRỊ QGV CDTH LOP MÃ LỚP TÊN LỚP GVCN CDCK CAO ĐẲNG CƠ KHÍ LÊ THÀNH NHÂN 1
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
BÀI TẬP TABLEBÀI 1
1. Tạo một thư mục theo đường dẫn: D:\TenSV2. Khởi động access, tạo một cơ sở dữ liệu mới tên QLSV lưu trong thư mục TenSV với các đặc tả như sau:
− Lớp được phân biệt bằng MaLop.− Mỗi lớp có nhiều sinh viên, các sinh viên được phân biệt nhau bằng MaSV, một sinh viên chỉ thuộc một
lớp.− Một sinh viên học nhiều môn học, mỗi môn học được phân biệt bằng MaMH và mỗi môn học được học
bởi nhiều sinh viên.− Mỗi sinh viên ứng với mỗi môn học và một lần thi thì chỉ có một kết quả duy nhất.
3. Dùng chức năng table để tạo các bảng trong CSDL đồng thời thiết lập khóa chính cho mỗi bảng như sau:LOP:
field Name Data Type Description Field PropertiesMALOP Text Mã Lớp Field size 10 caption: Mã LớpTENLOP Text Tên lớp Field size: 30 Format > caption: Tên LớpGVCN Text Giáo viên CN Field size: 30 Format > caption: Giáo viên CN
SINHVIEN:field Name Data Type Description Field PropertiesMASV Text Mã sinh viên Field size 10 Format > caption: Mã Sinh viênHOSV Text Họ sinh viên Field size: 30 Format > caption: Họ sinh viênTEN Text Tên sinh viên Field size: 20 Format > caption: Tên sinh viênPHAI Yes/No Phái Format: ;”Nam”; “Nữ” Lookup Display control: TextboxNGAYSINH Date/time Ngày sinh Format : short date input mask: 00/00/00 caption: Ngày sinhDIACHI Text Địa chỉ Field size: 50 caption: Địa chỉMALOP Text Mã lơp Field size: 10 Format > caption: Mã lớp
MONHOCfield Name Data Type Description Field PropertiesMAMH Text Mã môn học field size: 10 format: >[Red] caption: Mã môn họcTENMH Text Tên môn học field size: 30 format: >[Blue] caption: Tên môn họcSOTC Number Số tín chỉ field size: byte caption: Số tín chỉ
KETQUAfield Name Data Type Description Field PropertiesMASV Text Mã sinh viên field size 10 format > caption: Mã Sinh viênMAMH Text Mã môn học field size: 10 format: >[Red] caption: Mã môn họcLANTHI Number Lần thi field size: byte caption: Lần thiDIEM Number Điểm field size: Double caption: Điểm4. Nhập dữ liệu cho các bảng:
SINHVIEN
MÃ SV HỌ SV TÊN SV PHÁI NGÀY SINH ĐỊA CHỈ MÃLỚP
A01 NGUYỄN THỊ LÀNH NỮ 12/10/78 12 NGUYỄN TRẢI Q3 CDCK
A02 TRẦN VĂN AN NAM 15/11/76 14 ĐINH TIÊN HOÀNG Q1 CDCK
A03 NGUYỄN THỊ HIỀN NỮ 12/02/78 13 TRẨN BÌNH TRỌNG QPN CDCK
A04 NGUYỄN THÀNH NHÂN NAM 11/11/80 15 NGUYỄN TRẢI Q3 CDCK
B01 LÊ BÁ HẢI NAM 12/12/78 12 NGUYỄN TRẢI Q3 CDTH
B02 PHẠM THỊ ĐÔNG NỮ 09/08/79 5 LÊ LAI Q1 CDTH
B03 LÊ VĂN PHÚC NAM 01/04/80 12 PHAN VĂN TRỊ QGV CDTH
B04 PHẠM VĂN NHẬT NAM 09/04/79 50 PHAN VĂN TRỊ QGV CDTH
LOP
MÃ LỚP TÊN LỚP GVCN
CDCK CAO ĐẲNG CƠ KHÍ LÊ THÀNH NHÂN
1
LOP
MÃ LỚP TÊN LỚP GVCN
CDTH CAO ĐẲNG TIN HỌC NGUYỄN THANH BÌNH
MONHOC
MÃ MH TÊN MH SỐ TC
CSDL CƠ SỞ DỮ LIỆU 4
KTDT KỸ THUẬT ĐIỆN TỬ 3
LSD LỊCH SỬ ĐẢNG 2
5. Thiết lập mối quan hệ giữa các bảng
6. Thực hiện các chức năng sau đây:a. Tạo Password cho cơ sở dữ liệu QLSVb. Mở cửa sổ thuộc tính của cơ sở dữ liệu QLSV để xem dung lượng, sau đó
thực hiện chức năng Compact and repair dabase, sau khi thực hiện xong xem lại dung lượng của tập tin
c. Tạo thêm một cơ sở dữ liệu mới, rỗng trong thư mục TenSV, với tên SV_BACKUP.d. Mở cơ sở dữ liệu SV_BACKUP, dùng chức năng import để chép các bảng SINHVIEN, LOP trong cơ sở dữ liệu
QLSV vào SV_BACKUPe. Mở cơ sở dữ liệu QLSV, dùng chức năng export để chép bảng KETQUA từ cơ sở dữ liệu QLSV sang
SV_BACKUPf. Mở cơ sở dữ liệu SV_BACKUP dùng chức năng link-Table để chép bảng MONHOC từ QLSV sang
SV_BACKUP.
KETQUA
MÃ SV MÃ MH LẦNTHI ĐIỂM
B01 CSDL 1 9
B02 CSDL 1 7
B04 CSDL 1 3
B04 CSDL 2 8.5
A01 KTDT 1 8
A02 KTDT 1 3
A02 KTDT 2 6
A03 KTDT 1 6
A01 LSD 1 8
A02 LSD 1 2
A02 LSD 2 5
A03 LSD 1 7
B01 LSD 1 10
B02 LSD 1 2
B02 LSD 2 5
B03 LSD 1 6
2
g. Mở bảng MONHOC trong SV_BACKUP nhập thêm một record mới (dữ liệu tùy ý), sau đó mở bảng MONHOC trong QLSV xem kết quả và nhận xét.
BÀI 21. Tạo tập tin cơ sở dữ liệu với tên là HOADON.MDB trong thư mục TevSV với đặc tả như sau:
Khách hàng giao hàng hoặc nhận hàng được thực hiện trên hóa đơn, trên hóa đơn chứa các thông tin về sản phẩm, tên khách hàng, tên nhân viên, ngày lập hóa đơn ….
− Mỗi nhân viên bán hàng được phân biệt bởi MaNV.− Mỗi khách hàng được phân biệt bởi MaKH.− Mỗi sản phẩm được phân biệt bởi MaSP.− Mỗi hóa đơn được phân biệt bởi MaHD.− Mỗi sản phẩm trên mỗi hóa đơn là duy nhất.
Dùng chức năng table để tạo các bảng trong CSDL đồng thời thiết lập khóa chính cho mỗi bảng như sau :NHANVIEN
Field Name Data type Description Field PropertiesMANV AutoNumber Mã Nv Caption: Mã NvHONV Text Họ nhân viên Field size: 25 Format:>[Blue] Caption: Họ NV
TENNV Text Tên nhân viênField size: 10 Format:>[Blue] Caption: Tên NVRequire: yes
PHAI Yes/No Phái Yes: Nam, No:NữFormat:;"Nam"[Blue];"Nữ"[Magenta]Caption: Phái Display Control: Text Box
NGAYSINH Date/Time Ngày sinhFormat: short date Input Mark: 00/00/00Caption: Ngày sinh
DIACHI Text Địa chỉ Field size: 40 Caption: địa chỉ.
DIENTHOAI Text Số điện thoạiField size:14 Input Mark: !\(999") "0000000;;*Caption: Điện thoại
HINH OLE Object HìnhKHACH HANG
Field Name Data type Description Field PropertiesMAKH Text Mã Khách hàng Field size: 10 Format:>[Red] Caption: Mã KHTENKH Text Tên Khách hàng Field size: 25 Format:>[Blue] Caption: Tên Công tyDIACHI Text Địa chỉ Field size: 40 Caption: địa chỉ.THANHPHO Text Thành phố Field size: 10 Caption: Thành phốDIENTHOAI Text Số điện thoại Field size:14 Input Mark: !\(999") "0000000;;* Caption: Điện thoại
SAN PHAMField Name Data type Description Field PropertiesMASP Number Mã san pham Field size: Integer Caption: Ma Sp Required: yesTENSP Text Tên Sản phảm Field size: 40 Format:>[Blue] Caption: Tên SpDONVITINH Text Đơn vị tính Field size: 10 Caption: Đơn vị tính
DONGIA Number Đơn giáField size: Double Format:standard Decimal places: 2Caption: đơn giá Validation rule: >0 Validation Text: Phải nhập số >0
HOADONField Name Data type Description Field Properties
MAHD Text Mã hóa đơnField size: 5 Format:>[red] Caption: mã hóa đơnRequired: yes
LOAIHD TextLoại hóa đơn nhập – xuất – chuyển - trả
Fieldsize:1 Default value: X Validation rule: In (“N”,”X”,”C”,”T”) Required: Yes
MAKH Text Mã khách hàng Field size: 10 Format:>[Red] Caption: Mã KH
MANV Number Mã nhân viênField size:LongInteger Caption: mã nhân viênRequired: yes
NGAYLAPHD Date/Time Ngày lập hóa đơnFormat: short date Caption: Ngày hoá đơn Input Mask: 00/00/00
3
NGAYGNHANG Date/Time Ngày giao nhận hàngFormat: short date Caption: Ngày Giao nhận hàngInput Mask: 00/00/00
CHITIETHDField Name Data type Description Field Properties
MAHD Text (Lookup Wizard ) Mã hóa đơnField size: 5 Format:>[red] Caption: mã hóa đơnRequired: yes
MASP Number(Lookup Wizard ) Mã sản phẩm Field size: Integer Caption: Ma Sp Required: yes
SOLUONG Number Số lượngField size: Integer Format:standard Caption: Số lượngValidation rule: >0 Validation Text: Phải nhập số >0
DGIABAN Number Đơn giá xuất nhậpField size: Double Format:standard Decimal places: Auto Caption: đơn giá
2. Nhập dữ liệu cho các Table theo mẫu sau :NHAN VIEN
MÃ NV HỌ NV TÊN NV PHÁI NGÀY SINH ĐIA CHỈ ĐIỆN THOAI HÌNH
THADACO XÂY DỰNG THÀNH ĐẠT 6E An Bình Q5 TP.HCM ( )5465454
3.Thiết
lập mối quan hệ giữa các bảng
HOADON
MÃ HĐLOAI
HDMÃ KH
MÃ NV
NGÀY HĐNGÀY
GN HÀNG
10154 N SAFICO 2 01/01/04 02/03/04
10153 T COMECO 2 29/01/04 05/02/04
10149 N COMECO 8 04/02/04 06/02/04
10147 X SAFICO 2 10/02/04 20/03/04
10148 T HUNSAN 5 11/02/04 05/03/04
10144 X FAHASA 1 10/03/04 20/04/04
10209 X SAFICO 1 10/03/04 12/04/04
10146 C FISC 4 12/03/04 05/04/04
10206 X SAFICO 7 02/04/04 28/05/04
10150 N CINOTEC 7 25/04/04 10/05/04
10145 T HUNSAN 4 10/05/04 29/06/04
10207 X COMECO 2 10/05/04 20/05/04
10202 N SJC 2 12/05/04 10/06/04
10203 N SJC 1 25/06/04 01/07/04
10155 N CINOTEC 1 28/06/04 01/07/04
10204 C HUNSAN 6 11/07/04 12/08/04
10152 T TAFACO 9 12/08/04 17/09/04
10208 N FAHASA 3 11/09/04 30/09/04
10201 N COMECO 4 18/10/04 22/10/04
10151 X SJC 9 21/11/04 12/12/04
CTHOADON
MÃ HĐ MÃ SP SỐ LƯỢNG ĐGIABAN
10144 3 20.00 2.20
10144 4 30.00 16.50
10144 9 20.00 13.20
10145 2 22.00 44.00
10145 4 10.00 16.50
10146 8 20.00 68.75
10147 3 4.00 2.20
10147 4 50.00 16.50
10148 1 30.00 253.55
10149 7 2.00 5.50
10150 1 5.00 253.55
10150 2 10.00 44.00
10151 7 12.00 5.50
10152 5 25.00 1.10
10153 6 12.00 11.00
10154 4 12.00 16.50
10154 5 20.00 1.10
10155 4 12.00 16.50
10155 9 50.00 13.20
10201 7 10.00 5.50
10202 5 15.00 1.10
10203 8 20.00 68.75
10206 1 10.00 253.55
10206 9 22.00 13.20
10207 4 7.00 16.50
10207 5 55.00 1.10
10208 4 21.00 16.50
10208 6 110.00 11.00
10209 2 15.00 44.00
5
4. Thực hiện các thao tác trên table ở chế độ Datasheet viewa) Mở Table SAN PHAM, Sắp xếp dữ liệu theo DONGIA tăng dần.b) Mở Table HOA DON: Sắp xếp theo MANV tăng dần, trùng MANV thì xếp theo NGAYLAPHD tăng dần.
5. Thực hiện thao tác lọc dữ liệu như sau:a) Mở table NHÂN VIÊN, sử dụng Filter by Selection thực hiện lọc
− Các nhân viên có tên là “Hùng”− Các nhân viên có tên bắt đầu là “H”− Các nhân viên sinh vào tháng 12
b) Mở table SANPHAM, sử dụng Filter by form thực hiện lọc:− Các sản phẩm có đơn vị tính là “thùng”− Các sản phẩm có đơn giá 20 đến 50
c) Mở table KHACHHANG, sử dụng Advanced Filter/Sort thực hiện lọc:− Các Khách hàng ở “Tp. HCM” nhưng không có số điện thoại − Các khách hàng ở “Tp. HCM” hoặc “Hà Nội”
d) Sao chép bảng SANPHAM thành một bảng mới với tên SP_TAM6. Mở table SP_TAM, dùng chức năng Edit Find hoặc Edit Replace để thực hiện các thao tác sau:
a) Tìm những sản phẩm có đơn vị tính là “Kg”b) Tìm những sản phẩm có Tên sản phẩm bắt đầu là “B”c) Tìm và thay thế những đơn vị tính là “cái” thay thành “Chiếc”.
7. Chức năng Import, Link Table:a) Tạo cơ sở dữ liệu trống tên QLVT.MDB, sau đó dùng chức năng Import, Import các Table SanPham, HoaDon,
ChiTietHD từ cơ sở dữ liệu Hoadon sang QLVT.MDB b) Dùng chức năng Link Table để tạo liên kết giữa hai Table ChiTietHoaDon có trong hai CSDL này.
8. Dùng chức năng Export:a) Dùng chức năng Export, export Table KhachHang, Nhanvien từ CSDL HoaDon sang CSDL QLVT.MDB.b) Dùng chức năng Export, export Table KhachHang từ CSDL HoaDon thành tập tin tên DSKhachHang.XLS bên
Excel.c) Dùng chức năng import để thực hiện import tập tin DSKhachHang.XLS trong excel thành một table DSKH
trong access.
6
BÀI TẬP QUERYBÀI 3
SELECT QUERY Mở tập tin HOADON.MDB Hãy tạo các truy vấn sau:1. Tạo query cho biết các thông tin về hoá đơn gồm các field : mã HD, tên KH, tên NV lập hoá đơn, ngày lập HD,
ngày nhận hàng, kết quả được sắp xếp theo ngày lập hóa đơn.2. Tạo query cho biết các thông tin về hóa đơn của khách hàng CINOTEC : mã HD, tên NV lập hóa đơn, ngày lập
HD, ngày nhận hàng. Kết quả được sắp xếp theo ngày nhận hàng.3. Tạo query cho biết các thông tin về hóa đơn do những nhân viên ở Q1 lập : mã HD, mã KH, tên KH, địa chỉ khách
hàng, tên NV, địa chỉ NV, ngày lập HD, ngày nhận hàng.4. Danh sách các Khách hàng có hai ký tự cuối cùng của MAKH là CO.5. Danh sách các hóa đơn do nhân viên Nga lập trong tháng 3.6. Cho xem danh sách nhân viên có năm sinh >=19757. Tạo query cho biết các thông tin về hóa đơn của khách hàng CINOTEC, FAHASA, SJC, HUNSAN bao gồm : mã
HD, mã KH, tên NV lập hoá đơn, ngày lập HD, ngày nhận hàng, tên sản phẩm, số lượng, đơn giá. Kết quả được sắp xếp theo mã khách và ngày nhận hàng.tăng dần.
8. Tạo query cho biết các thông tin của hoá đơn có mã số 10144 : mã KH, tên NV lập hóa đơn, ngày lập hóa đơn, ngày nhận hàng, tên sản phẩm, số lượng, đơn giá, thành tiền, trong đó thành tiền = số lượng * đơn giá
9. Tạo query cho biết các thông tin của hoá đơn lập trong tháng giêng : mã HD, mã KH, tên KH, tên NV lập hóa đơn, ngày lập hóa đơn, ngày nhận hàng.
10. Tạo query cho biết các thông tin của hoá đơn lập trong tháng giêng và tháng hai : mã KH, tên NV lập hóa đơn, ngày lập hóa đơn, ngày nhận hàng.
11. Tạo query cho biết các thông tin của hoá đơn lập trong tháng 5 và số lượng giao hàng của mỗi mặt hàng lớn hơn 10 : mã HD, mã KH, tên KH, tên NV lập hóa đơn, ngày lập hóa đơn, ngày nhận hàng, tên sản phẩm, số lượng, đơn giá, thành tiền.
12. Tạo query cho biết các thông tin của hoá đơn lập trong tháng 5 và giao hàng sau ngày 15/6/04 : mã HD, mã KH, tên KH, tên NV lập hóa đơn, ngày lập hóa đơn, ngày nhận hàng, tên sản phẩm, số lượng, đơn giá, thành tiền.
13. Tạo query cho biết các thông tin của hoá đơn có thời gian giao hàng nhỏ hơn 20 ngày tính từ ngày lập hóa đơn : mã KH, tên NV lập hóa đơn, ngày lập hóa đơn, ngày nhận hàng, tên sản phẩm, số lượng, đơn giá, thành tiền.
14. Tạo query cho biết các thông tin về hoá đơn được lập trong ngày cuối cùng của table hóa đơn : mã HD, ngày lập hóa đơn. (dùng chức năng top Value)
15. Danh sách các sản phẩm có đơn giá bán cao nhất. Thông tin bao gồm MaSp, TenSp, đơn vị tính, Dongia bán.Mở cơ sở dữ liệu QLSV và thực hiện các truy vấn sau:16. Tạo query cho xem danh sách điểm của sinh viên, thông tin gồm các field: MASV, HOTEN, MAMH, TENMH,
LẦN THI, DIEM, KETQUA, trong đó: field KETQUA được xét như sau: nếu điểm thi >=5 thì đạt, ngược lại thì không đạt
17. Tạo query cho xem danh sách các sinh viên thụôc lớp CDTH không thi lần 2 (thi lần 2 nếu thi lần 1 có điểm <5), gồm các field MASV, HOTEN, MAMH, TENMH, DIEM
18. Tạo query cho xem danh sách các sinh viên thi lần 2 của lớp CDCK gồm các field : MASV, HOTEN, MAMH, TENMH, DIEM
BÀI 4SELECT QUERY CÓ CHỨA FIELD TÍNH TOÁNMở cơ sở dữ liệu HOADON19. Cho xem danh sách nhân viên có tuổi từ 20 đến 40, trong đó tuổi được tính
=Year(Date()) – Year([Ngaysinh])20. Cho xem danh sách nhân viên ứng với độ tuổi. Thông tin kết quả bao gồm mã nhân viên, họ và tên, Phái, tuổi, độ
tuổi. Trong đó − Họ và tên là được ghép bởi HoNv và TenNv− Độ tuổi : dựa vào tuổi nếu tuổi <18: Thanh thiếu niên
Tuổi từ 18 đến < 35: Thanh niênTuổi từ 35 đến < 50 : Trung niênTuối >=50 : Cao niên
7
21. Cho xem danh sách những nhân viên ở độ tuổi là Cao Niên (dữ liệu nguồn là truy vấn câu 20)
22. Cho xem danh sách 3 nhân viên lớn tuổi nhất.23. Tạo query CHITIETHD gồm các vùng sau : MAHD, TenSp, Dongia, Songay, Thanhtien, TienTraTruoc, Conlai.
Trong đó :a. Thành tiền là số lượng nhân đơn giá.b. Songay : số ngày từ ngày lập hóa đơn đến ngày nhận hàng.c. Tiền trả trước : Nếu số ngày <=20 thì trả trước 20% thành tiền, nếu 20<songay<=30 thì trả trước 30% thành tiền, các trường hợp còn lại trả trước 50% thành tiền.
24. Tạo query TINH TIEN cho từng sản phẩm trong từng hóa đơn gồm các vùng : Mã HD, ngày lập HD, tên sản phẩm, số lượng, đơn giá, thành tiền USD, thành tiền VN.
Biết rằng :Thành tiền USD =Đơn giá * Số lượngThành tiền VN = Thành tiền USD * tỉ giá với tỉ giá được tính như sau :
− 14780 nếu hóa đơn được lập vào 4 tháng đầu của năm 04. − 15200 nếu hóa đơn được lập vào 4 tháng kế của năm 04. − 16000 cho các hóa đơn sau đó.
25. Tạo query thực trả cho từng sản phẩm trong từng hóa đơn gồm các field MAHD, ngày lập HD, tên sản phẩm, đơn giá, số lượng, thành tiền, thực trả.Biết rằng :
Thành tiền = Đơn giá * Số lượng.Thực trả = Bao gồm thành tiền và số tiền thưởng phạt cho thời gian lấy hàng như sau :
− Nếu thời gian từ ngày lập hóa đơn đến ngày nhận hàng dưới 20 ngày thì giảm giá 3 đồng cho một ngày trước mốc thời hạn (20 ngày). − Nếu thời gian từ ngày lập hóa đơn đến ngày nhận hàng trong khoảng từ 20 đến 40 ngày thì không tính thưởng phạt.− Nếu thời gian từ ngày lập hóa đơn đến ngày nhận hàng trên 40 ngày thì phạt 3 đồng cho một ngày vượt quá mốc thời hạn.
SELECT QUERY – DÙNG CHỨC NĂNG TOTALMở cơ sở dữ liệu HOADON1) Danh sách các sản phẩm được nhập. Thông tin bao gồm MaSp, TenSp, Donvitinh, TongSoLuong. Trong đó
TongSoLuong là sum của Soluong, kết nhóm theo Masp.2) Danh sách các hóa đơn ứng với tổng tiền của từng hóa đơn. Thông tin bao gồm MaHd, NgayLapHd, LoaiHD, Tong
Tien. Trong đó Tong Tien là Sum của SoLuong * Dongia, kết nhóm theo Mahd và LOAIHD.3) Cho biết mỗi khách hàng đã lập bao nhiêu hóa đơn. Thông tin gồm MaKh, TenKh, Tổng số hóa đơn, Loại HD.
Trong đó Tổng số hóa đơn được đếm (Count) theo từng Khách hàng và theo loại HD.4) Cho biết mỗi nhân viên đã lập được bao nhiêu hóa đơn xuất, tổng tiền là bao nhiêu trong quý 1và quý 2. Thông tin
gồm MaNv, Ho va Ten, Tong so hoa don, Tong so Tien.5) Tạo query tính tổng tổng số hóa đơn, tổng số lượng và tổng tiền của từng sản phẩm, thông tin bao gồm các field :
MASP, TENSP, TSHOADON, TONGSL, TONGTIEN.Mở cơ sở dữ liệu QLSV1) Tạo query cho xem danh sách điểm trung bình của từng sinh viên, thông tin gồm các field: MASV, HOTEN,
DIEMTB, XEPLOAI. Trong đó, DIEMTB=avg([DIEM]).XEPLOAI:
− nếu DIEMTB>=8, xếp loại giỏi− 8>DIEMTB>=6.5, xếp loại khá− 6.5>DIEMTB>=5, xếp loại trung bình− còn lại là loại yếu
kết nhóm theo MASV2) Tạo query để xem danh sách các sinh viên đạt học bổng, với yêu cầu sau: những sinh viên có điểm trung bình >=8.5
và không có điểm nào <5 thì dạt học bổng 500000, ngược lại thì học bổng là 0.
8
BÀI 5QUERY THAM SỐ
Mở cơ sở dữ liệu HOADON1. Tạo query cho xem danh sách các sản phẩm có hoá đơn nhập trong 1 ngày tùy ý (tham số).gồm các field: TenSP, Ngaylaphd,TongSoluong, TongTriGia.2. Danh sách các sản phẩm có hóa đơn Xuất trong một khoảng thời gian tùy ý (ngày bắt đầu và ngày kết thúc là 2 tham số ).gồm các field: TenSP, Ngayxuat, TongSoluong, TongTriGia.3. Tạo query cho phép xem tổng số lượng đã bán của 1 sản phẩm tùy ý. Gồm các field: MASP, TENSP, TONGSL4. Tạo query cho phép xem thông tin về các khách hàng ở 1 quận tùy ý. Thông tin gồm MAKH, TENKH, DIACHI, DIENTHOAI
Mở cơ sở dữ liệu QLSV :5. Tạo query cho xem danh sách các sinh viên thuộc lớp tùy ý gồm các field masv, hoten, phái, ngaysinh, diachi.6. Tạo query để xem điểm của sinh viên tùy ý gồm các trường masv, hosv, tensv, lanthi, diem 7. Hiển thị bảng điểm của môn học bất kỳ gồm các field masv, hosv, tensv, phái, ngaysinh, malop, mamh, tenmh, lanthi, diem được sắp xếp theo masv.
CÁC QUERY THỰC HIỆN BẰNG CHỨC NĂNG WIZARD Mở cơ sở dữ liệu HOADON
1. Danh sách sản phẩm chưa từng được lập hóa đơn.2. Danh sách các nhân viên chưa tham gia lập hóa đơn.3. Danh sách các khách hàng chưa từng lập hóa đơn.4. Xem danh sách các nhân viên có cùng ngày sinh5. Danh sách các hóa đơn lập trong cùng một ngày
Mở cơ sở dữ liệu QLSV :6. Dùng chức năng Unmatched query để liệt kê danh sách những sinh viên chưa thi môn nào.7. Dùng chức năng Find duplicate query để liệt kê các sinh viên có trùng ngày sinh
CROSSTAB QUERYMở cơ sở dữ liệu HOADON1. Thống kê tổng số lượng sản phẩm đã nhập ứng với mỗi nhà cung cấp và mỗi sản phẩm2. Thống kê tổng tiền của các hóa đơn xuất của với mỗi nhân viên và ứng mỗi tháng3. Thống kê tổng số lượng của từng sản phẩm đã xuất bán trong từng quý 4. Thống kê tổng trị giá hóa đơn của mỗi khách hàng ứng với mỗi loại hóa đơn.Mở cơ sở dữ liệu QLSV :5. Thống kê số sinh viên giỏi, khá, trung bình, yếu theo từng lớp.6. Thống kê tổng số sinh viên đạt và không đạt ứng với từng môn học. trong đó nếu điểm thi lần 1 > 5 thì đạt,
ngược lại là không đạtBÀI 6
ACTION QUERY A. Update query
Mở cơ sở dữ liệu HOADON1) Dùng Update query để tăng đơn giá của các sản phẩm lên 1% .2) Dùng Update query để giảm 10% đơn giá của các sản phẩm có đơn vị tính là “Chai” 3) Dùng Update query để đổi thành phố “Tp. HCM” thành “Sài gòn” trong table KHACHHANG4) Dùng Update query để cập nhật đơn giá trong CHITIETHD bằng đơn giá trong SAN PHAM.
B. Make table queryMở cơ sở dữ liệu HOADON1) Dùng Make Table Query, để tạo ra bảng HDLU2004 gồm các field MAHD, MANV, NGAYLAPHD,
NGAYGNHANG, TTIEN, chứa các hoá đơn có tháng lập hóa đơn là tháng 1,2,3/2004 .2) Tạo bảng KHQ5 từ bảng khách hàng chứa thông tin các khách hàng ở Q53) Tạo bảng HD_HUNSAN chứa thông tin về các hóa đơn đã lập cho khách hàng HUNSAN trong quý 14) Tạo ra bảng LUONGNV gồm các cột MANV, HOTEN, THANG, LUONG. Trong đó
− Truy vấn có 2 tham số để nhập tháng và năm tính lương
9
− Field Tháng là chuỗi gồm tháng ghép với năm của tháng tính lương. Ví dụ: tháng tính lương là 2 và năm tính là 2004 thì kết quả của field tháng là “2/04”
− LUONG = 1 % tổng doanh thu của nhân viên trong tháng tính lương.Mở cơ sở dữ liệu QLSV :1. Dùng Make table Query, để tạo ra bảng SV_ĐẬU chứa các sinh viên không thi lần 2, gồm các Field Masv,
hoten, tenlop, mamh, tenmh, lanthi, diem.2. Dùng Make table Query, để tạo ra bảng SV_HOCBONG gồm các Field Masv, hoten, phai, malop, tenlop,
hocbong. Trong đó học bổng được tính như sau:− Những sinh viên có điểm trung bình >=8.5 và không có môn nào <5 thì được học bổng 500000, ngược lại
thì không có học bổngC. Append query
1) Dùng Append query để nối vào bảng lương của các nhân viên của một tháng tùy ý vào bảng LUONGNV2) Tạo một Append query để thêm các hóa đơn tháng 4,5,6/2004 vào bảng HDLU2004.3) Dùng Append query nối thêm các hóa đơn của khách hàng HUNSAN trong quý 2 vào bảng HD_HUNSAN .4) Dùng Append query nồi thêm các khách hàng ở các quận 1, 3 vào bảng KHQ5
D. DELETE QUERY1. Tạo Query xóa các khách hàng ở Q5 trong KHQ5.2. Tạo một Delete Query dùng để xóa mẫu tin lương trong bảng LUONGNV của một tháng tùy ý
10
BÀI 7 BÀI TẬP FORM
1. Dùng Form wizard tạo form tên Nhanvien1 dạng columnar cho bảng NHANVIEN theo mẫu sau.
Mở form Nhanvien_1 ở chế độ Form View , thực hiện các thao tác trên form :- Duyệt record : Dùng thanh Navigation- Tìm kiếm /Lọc (theo địa chỉ, điện thoại,…)- Thêm mới record , hiệu chỉnh record , xoá record- Thay đổi trình bày của dữ liệu trong form .
2. Sử dụng AutoForm để tạo form dạng columnar, tabular, datasheet cho bảng KHACHHANG, đặt tên các form là KhachHang_1, KhachHang_2,…
3. Thiết kế căn bản: Tạo form Nhanvien2 bằng Design (sử dụng field list hoặc dùng textbox và label trên toolbox). Hiệu chỉnh các thuộc tính:
4. Thiết kế form NHAN VIEN3 sử dụng control Option group : Thiết kế field PHAI dùng option group bằng wizard hoặc bằng design và có thể chọn các loại option khác như option button, check box, toggle button
5. Tạo form HOADON sử dụng combo box để trình bày dữ liệu các field Loai HD, MaNV, MaKH
11
BÀI 8 1. Tạo form sử dụng Crosstab Query làm dữ liệu nguồn cho form thể hiện thống kê số lượng của từng sản phẩm nhập
xuất theo từng quí, thiết kế form bằng wizard, chọn dạng tabular, sử dụng Textbox control hiển thị kết quả tính toánMàn hình thiết kế:
Màn hình kết quả
2. Thiết kế form dạng main_sub form1. Tạo Form theo mẫu sau : (làm bằng 2 cách : Design và wizard)− Main form chứa thông tin của khách hàng, dữ liệu nguồn của main form là table KHACHHANG, dạng form là
columnar− Sub form chứa thông tin về các sản phẩm của từng khách hàng trên main form, dữ liệu nguồn phải chứa field
liên kết là MAKH, form có dạng datasheet:
12
Màn hình thiết kế:
2. Tạo Form dạng Main_Sub bằng design như mẫu trong đó:− Main form chứa thông tin về các hóa đơn, form có dạng columnar− Subform chứa thông tin về các sản phẩm của từng hóa đơn, dữ liệu nguồn của subform phải chứa field liên kết
với main form là MAHD, form có dạng tabular
BÀI 9 Thiết kế form main-sub dùng cơ sở dữ liệu QLSV
1. Thiết kế form có dạng sau:− Main form chứa thông tin về lớp− Subform chứa danh sách các sinh viên của từng lớp− Nút đóng form thíêt l]kế bằng wizard, dùng để đóng form
13
SUBFORM
2. Thiết kế form thông tin sinh viên có dạng sau:− Main form chứa thông tin sinh viên, trong đó field phái dùng công cụ option group− Subform chứa thông tin điểm của tất cả các môn học của sinh viên đó− Ô điểm trung bình tính bằng công thức =avg([diem])− Xếp loại dựa vào điểm trung bình tính như trong phần query− Các nút duyệt record để di chuyển giữa các record− Nút thóat để đóng form
BÀI TẬP MACRO1) Tạo Form theo mẫu sau : Ứng dụng Macro vào trong các nút lệnh.
Yêu cầu :o Các nút mũi tên : Duyệt các mẩu tin về đầu, tiếp, trước, cuối.o Nút Thêm : Thêm vào một hoá đơn mới, nếu hoá đơn có rồi thì báo yêu cầu nhập lại.Nếu nhập Makh, Manv chưa có bên bảng Khachhang, NhanVien thì báo nhập lại.o Nút Xem Chi Tiết Hoá Đơn : Mở Form Hóa Đơn bán hàng đã làm ở bài tập Form.o Nút In mở Report Hoá Đơn bán Hàng của hóa đơn hiện hành o Nút Tìm : Tìm một hóa đơn bất kỳ.o Nút Xóa : Xoá hoá đơn đang chọn, trước khi xoá hiện hộp thoại hỏi người sử dụng có muốn xóa hay không ?. Nếu xóa thì mới xóa.o Nút Thoát : Đóng Form
2) Tạo Form theo mẫu sau trong đó ứng dụng Macro có điều kiện sau :
Yêu cầu:− Khi chọn tùy chọn bảng tổng hợp hóa đơn thì combobox chọn mahd mờ đi và click nút IN BÁO CÁO thì mở
report BẢNG KÊ CÁC HÓA ĐƠN THEO SẢN PHẨM. Click Bảng tổng hợp hóa đơn và nhấn Xem báo cáo hiện:
14
15
Click Chi tiết từng hóa đơn :
− Khi chọn tùy chọn Chi tiết của từng hóa đơn thì combobox sáng cho phép chọn hóa đơn cần xem và click nút IN BÁO CÁO thì mở report HÓA ĐƠN BÁN HÀNG có MAHD chính là MAHD được chọn trong combobox
− Nếu chọn chi tiết của từng hóa đơn mà không chọn MaHD thì phải hiển thị thông báo yêu cầu chọn MaHD
3) Tạo form cho phép xem Báo cáo bán hàng theo 1 trong những tiêu chuẩn lựa chọn sau - Xem toàn bộ- Chọn theo Ngày lập hoá đơn - Chọn theo Mã hoá đơn- Chọn theo Tên sản phẩm
Khi nhấn XEM sẽ mở report Báo cáo bán hàng (xem phần Report_ mẫu Report_banhang) theo tiêu chuẩn đã xác định trong form. Nếu User không nhập giá trị làm tiêu chuẩn chọn, thì xuất hiện message box thông báo lỗi. Khi chuyển chọn giữa các nút chọn trong form , có sự chuyển trạng thái enable/ able của các mục chọn.