BT TinCB2

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 120

TRƯỜNG ĐẠI HỌC LAO ĐỘNG XÃ HỘI

KHOA CÔNG NGHỆ THÔNG TIN


---------------0o0-------------

BÀI TẬP
TIN HỌC CƠ BẢN II
Chủ biên: Ths. Nguyễn Thanh Huyền
Ths. Bùi Thị Hồng Dung
Thành viên tham gia: Ts Nguyễn Thị Sinh Chi
Ths. Nguyễn Hữu Bình
Ths. Ngô Bích Liên

Hà nội - 2016
LỜI NÓI ĐẦU

Tin học cơ bản II là một trong những môn học đại cương mà sinh viên cần
phải hoàn thành ngay trong năm học đầu tiên ở trường. Đây là môn học cung
cấp cho các em những kiến thức nền tảng về xây dựng, quản lý và khai thác các
cơ sở dữ liệu vừa và nhỏ thông qua Hệ QTCSDL Microsoft Access.
Cuốn “Bài tập Tin học cơ bản II” được biên soạn nhằm phục vụ việc
giảng dạy và học tập học phần này tại trường Đại học Lao động Xã hội. Nội
dung cuốn bài tập bám sát đề cương của học phần, bao gồm 06 chương:
- Chương I: TỔNG QUAN VỀ MICROSOFT ACCESS
- Chương II: BẢNG DỮ LIỆU (TABLE)
- Chương III: TRUY VẤN (QUERY)
- Chương IV: MẪU BIỂU (FORM)
- Chương V: BÁO BIỂU (REPORT)
- Chương VI: BÀI TẬP TỔNG HỢP
Trong mỗi chương có phần tóm tắt lý thuyết cơ bản, câu hỏi trắc nghiệm,
bài tập, hướng dẫn giải bài tập.
Cuốn sách được biên soạn bằng kiến thức và kinh nghiệm giảng dạy lâu
năm của các thầy cô giáo trong Khoa Công nghệ thông tin của trường, nên rất hy
vọng sẽ giúp ích được nhiều cho các bạn sinh viên cũng như các giảng viên.
Trong quá trình biên soạn, chúng tôi đã hết sức cố gắng để cuốn bài tập
được hoàn chỉnh, song chắc chắn không tránh khỏi những sai sót nhất định. Ban
biên soạn rất mong nhận được sự đóng góp ý kiến của đồng nghiệp và độc giả
để cuốn bài tập có thể hoàn thiện hơn.
Xin chân thành cảm ơn!

3
MỤC LỤC

CHƯƠNG I. TỔNG QUAN VỀ MICROSOFT ACCESS ................................... 6


I. TÓM TẮT LÝ THUYẾT ............................................................................... 6
1. Khái niệm CSDL, Hệ quản trị CSDL (HQTCSDL Microsoft Access),
các bước thiết kế CSDL. ...................................................................................................... 6
2. Một số ví dụ CSDL trong thực tế. ....................................................................... 6
II. CÂU HỎI VÀ BÀI TẬP ............................................................................... 7
1. Câu hỏi trắc nghiệm ................................................................................................ 7
2. Bài tập......................................................................................................................... 7
CHƯƠNG II. BẢNG DỮ LIỆU (TABLE) ........................................................... 8
I. TÓM TẮT LÝ THUYẾT ............................................................................... 8
1. Các khái niệm bảng, trường, bản ghi. Quy tắc đặt tên bảng, trường. Kiểu
dữ liệu, các thuộc tính của trường. .................................................................................... 8
2. Khái niệm khóa chính............................................................................................. 9
3. Quan hệ giữa các bảng. Cách tạo quan hệ ......................................................... 9
4. Quy tắc nhập dữ liệu cho các bảng. .................................................................. 10
II. CÂU HỎI VÀ BÀI TẬP ............................................................................. 10
1. Câu hỏi trắc nghiệm .............................................................................................. 11
2. Bài tập....................................................................................................................... 13
III. ĐÁP ÁN, HƯỚNG DẪN GIẢI BÀI TẬP ................................................ 24
CHƯƠNG III. TRUY VẤN (QUERY) .............................................................. 28
I. TÓM TẮT LÝ THUYẾT ............................................................................. 28
1. Các loại truy vấn, các bước tạo truy vấn, cách đặt điều kiện, sắp xếp. ..... 28
Các loại truy vấn trong Access ........................................................................ 28
2. Một số hàm thông dụng ....................................................................................... 29
3. Cách tạo trường kết xuất ...................................................................................... 30
II. CÂU HỎI VÀ BÀI TẬP ............................................................................. 30
1. Câu hỏi trắc nghiệm .............................................................................................. 30
2. Bài tập....................................................................................................................... 31
III. ĐÁP ÁN, HƯỚNG DẪN GIẢI BÀI TẬP ................................................ 48
CHƯƠNG IV. MẪU BIỂU (FORM).................................................................. 53
I. TÓM TẮT LÝ THUYẾT ............................................................................. 53
1. Giới thiệu ................................................................................................................. 53
2. Thiết kế Form dùng Form Wizard ................................................................... 53
4
3. Cấu trúc Form ......................................................................................................... 55
4. Các chế độ hiển thị Form..................................................................................... 55
5. Chỉnh sửa và trình bày Form trong chế độ Design View ............................ 56
II. CÂU HỎI VÀ BÀI TẬP ............................................................................. 57
1. Câu hỏi trắc nghiệm .............................................................................................. 57
2. Bài tập....................................................................................................................... 58
III. ĐÁP ÁN, HƯỚNG DẪN GIẢI BÀI TẬP ................................................ 68
CHƯƠNG V. BÁO BIỂU (REPORT) ................................................................ 70
I. TÓM TẮT LÝ THUYẾT ............................................................................. 70
1. Giới thiệu ................................................................................................................. 70
2. Thiết kế Report dùng Report Wizard ............................................................... 70
3. Cấu trúc Report ...................................................................................................... 72
4. Các chế độ hiển thị Report .................................................................................. 72
5. Chỉnh sửa và trình bày Report trong chế độ Design View ......................... 72
6. Phân nhóm và tổng hợp dữ liệu theo nhóm .................................................... 73
II. CÂU HỎI VÀ BÀI TẬP ............................................................................. 74
1. Câu hỏi trắc nghiệm .............................................................................................. 74
2. Bài tập....................................................................................................................... 75
III. ĐÁP ÁN, HƯỚNG DẪN GIẢI BÀI TẬP ................................................ 90
CHƯƠNG VI. BÀI TẬP TỔNG HỢP ................................................................ 93
I. BÀI TẬP ....................................................................................................... 93
II.CÁC ĐỀ THAM KHẢO ......................................................................................... 102

5
CHƯƠNG I. TỔNG QUAN VỀ MICROSOFT ACCESS
I. TÓM TẮT LÝ THUYẾT
1. Khái niệm cơ sở dữ liệu (CSDL), Hệ quản trị CSDL (HQTCSDL
Microsoft Access), các bước thiết kế CSDL.
Microsoft Access là một Hệ quản trị Cơ sở dữ liệu (QTCSDL) tương tác
người sử dụng chạy trong môi trường Windows. Microsoft Access cho chúng ta
một công cụ hiệu lực và đầy sức mạnh trong công tác tổ chức, tìm kiếm và biểu
diễn thông tin.
Khái niệm cơ sở dữ liệu trong Access: đó là hệ chương trình do Access
tạo ra và lưu trên một tệp có đuôi .accdb. Một cơ sở dữ liệu gồm 7 nhóm đối
tượng: Table, Query, Form, Report, Page, Macro, Module.
Các bước thiết kế một CSDL
Bước 1: xác định mục tiêu khai thác CSDL.
Bước 2: xác định các bảng dữ liệu cần thiết. Mỗi đối tượng thông tin sẽ
hình thành một bảng trong CSDL.
Bước 3: sau khi đã xác định xong các bảng cần thiết, tiếp đến ta phải chỉ
rõ thông tin nào cần quản lý trong mỗi bảng, đó là xác định các trường. Mỗi loại
thông tin trong bảng gọi là trường. Mọi mẫu in trong cùng một bảng đều có
chung cấu trúc các trường gọi là bản ghi.
Bước 4: xác định các mối quan hệ giữa các bảng.
Bước 5: tinh chế, hiệu chỉnh lại thiết kế, nhập dữ liệu cho các bảng.
2. Ví dụ CSDL trong thực tế
Ví dụ : CSDL Banhang
Bước 1: xác định mục tiêu khai thác CSDL:Xử lý nghiệp vụ bán hàng
nhằm giảm thiểu mọi khó khăn, chi phí đảm bảo thông tin công ty luôn luôn
chính xác từ đó có chiến lược kinh doanh tốt hơn.
Bước 2: các bảng dữ liệu cần thiết : KHACHHANG (quản lý thông tin
khách hàng), HANG (quản lý thông tin các mặt hàng đang kinh doanh),
HOADON (quản lý về những thông tin về hóa đơn), BANHANG (quản lý về
thông tin mua bán hàng ngày).
Bước 3: chỉ rõ thông tin cần quản lý trong mỗi bảng, đó là xác định các
trường : KHACHHANG (Họ tên, Địa chỉ, Điện thoại…), HANG(Loại hàng,
Tên hàng, Số lượng, Đơn giá, Mô tả…)

6
HOADON (Ngày lập, Khách, …), BANHANG (Khách hàng, Người bán,
Loại hàng, Số lượng,...).
Bước 4: xác định các mối quan hệ giữa các bảng: Các bảng quan hệ với
nhau khi chúng có thông tin liên quan. VD bảng HANG quan hệ với bảng
BANHANG vì cùng chung thông tin Loại hàng.
Bước 5: tinh chế, hiệu chỉnh lại thiết kế, nhập dữ liệu cần thiết cho các bảng.
II. CÂU HỎI VÀ BÀI TẬP
1. Câu hỏi trắc nghiệm
Câu 1: Số nhóm đối tượng trong một tệp chương trình của access gồm:
a. 3 b. 5 c. 7
Câu 2: Tệp chương trình trong Microsoft ACCESS 2010 có đuôi:
a. mdb b. mdba c. accdb
Câu 3: Số bước để thiết kế một CSDL
a. 2 bước b. 3 bước c. 5 bước
2. Bài tập
Hãy thiết kế CSDL quản lý tuyển sinh theo 5 bước.

7
CHƯƠNG II. BẢNG DỮ LIỆU (TABLE)
I. TÓM TẮT LÝ THUYẾT
1. Các khái niệm bảng, trường, bản ghi. Quy tắc đặt tên bảng,
trường. Kiểu dữ liệu, các thuộc tính của trường.
Bảng (Table) là nơi chứa dữ liệu về một đối tượng thông tin nào đó như
SINH VIÊN, HÓA ĐƠN,... . Mỗi bảng trong CSDL có tên riêng khác nhau. Tên
bảng nên đặt ngắn gọn, dễ nhớ, không dấu, không chứa ký tự trắng, phù hợp với
nội dung bảng. Ví dụ: HANGHOA- Bảng quản lý hàng hóa. Trong một CSDL
có thể chứa nhiều bảng. Các bảng thường quan hệ với nhau.
Mỗi hàng trong bảng gọi là một bản ghi (record) chứa các nội dung riêng
của đối tượng đó. Mỗi bản ghi của một bảng đều có chung cấu trúc, tức là các
trường (field).
Ví dụ: bảng HANG sau gồm 6 bản ghi mỗi bản ghi đều có chung các
trường Mã hàng, Tên hàng, Đơn vị tính, Đơn giá.
HANG
Mã hàng Tên hàng Đơn vị tính Đơn giá
TA01 Tivi Chiếc 3500000
TA02 Tủ lạnh Chiếc 2000000
TA03 Bàn là Chiếc 120000
TA04 Máy giặt Chiếc 5000000
TA05 Túi sách Chiếc 500000
TA06 Tủ tường Chiếc 7000000
Qui tắc đặt tên trường giống qui tắc đặt tên bảng.
Kiểu dữ liệu
MS Access cung cấp một số kiểu dữ liệu cơ bản sau:
Kiểu dữ liệu Dữ liệu vào Kích thước
Text Kiểu văn bản Tối đa 255 byte
Memo Văn bản nhiều dòng, trang Tối đa 64000 bytes
Number Kiểu số 1, 2, 4 hoặc 8 byte
Date/Time Ngày giờ 8 byte
Currency Tiền tệ (Số) 8 byte

8
ACCESS tự động tăng lên một
Auto number khi một bản ghi được tạo 4 byte
Yes/No Kiểu Logic 1 bit
OLE Object Đối tượng của phần mềm khác Tối đa 1 giga byte
Trường nhận giá trị do
Lookup Wizard người dùng chọn từ 1 bảng
khác hoặc 1 danh sách giá
trị định trước
Hyper link Liên kết các URL
Thuộc tính của trường
Đặt thuộc tính cho trường nhằm kiểm tra độ chính xác dữ liệu nhập, định dạng
dữ liệu nhập, làm tăng tốc độ nhập và tốc độ tìm kiếm thông tin ... Mỗi một kiểu dữ
liệu sẽ có các thuộc tính và các đặc trưng khác nhau. (Tham khảo giáo trình)
2. Khái niệm khóa chính
Khóa chính (Primary key) của một bảng là một hoặc nhiều trường kết
hợp mà theo đó Access sẽ xác định một bản ghi duy nhất trong bảng.
Ví dụ: Khóa chính trong bảng HANG trên là Mã hàng. Vì Mã hàng dùng để
phân biệt hai bản ghi khác nhau trong bảng (mỗi hàng có một Mã hàng khác nhau).
3. Quan hệ giữa các bảng. Cách tạo quan hệ
Có ba loại quan hệ trong access
Quan hệ một -một (1-1)
Trong quan hệ một -một, mỗi bản ghi trong bảng A có tương ứng với một
bản ghi trong bảng B và ngược lại mỗi bản ghi trong bảng B có tương ứng duy
nhất một bản ghi trong bảng A.
Ví dụ: Cho 2 bảng dữ liệu
Bảng Danhsach (Masv, Ten, Ngaysinh, Gioitinh) và bảng Diemthi (Masv, Diem)
Bảng Danhsach và Diemthi có mối quan hệ 1-1 dựa trên trường Masv.
Quan hệ một nhiều ( 1- )
Là mối quan hệ phổ biến nhất trong CSDL, trong quan hệ một nhiều :
Một bản ghi trong bảng A sẽ có thể có nhiều bản ghi tương ứng trong bảng B,
nhưng ngược lại một bản ghi trong bảng B có duy nhất một bản ghi tương ứng
trong bảng A.

9
Ví dụ: Trong một khoa của một trường học nào đó có nhiều sinh viên,
nhưng một sinh viên thuộc một khoa nhất định. Ta có 2 bảng dữ liệu như sau:
Bảng Danhsachkhoa(Makhoa, Tenkhoa, Sodthoai)
Bảng danhsachsv(Makhoa, Ten, Quequan, Lop)
Bảng Danhsachkhoa và bảng danhsachsv có mối quan hệ 1- dựa trên
trường Makhoa.
Quan hệ nhiều nhiều (-)
Trong quan hệ nhiều nhiều, mỗi bản ghi trong bảng A có thể có không
hoặc nhiều bản ghi trong bảng B và ngược lại mỗi bản ghi trong bảng B có thể
có không hoặc nhiều bản ghi trong bảng A.
Ví dụ: Một giáo viên có thể dạy cho nhiều trường và một trường có nhiều
giáo viên tham gia giảng dạy. Đây là một mối quan hệ nhiều-nhiều.
Cách tạo quan hệ trong CSDL Access
- Database tools | relationships
- Đóng và lưu quan hệ.
4. Quy tắc nhập dữ liệu cho các bảng.
Thông thường trong thực tế chỉ tồn tại hai loại quan hệ : một - một (1-1)
và một - nhiều (1-).
- Nếu hai bảng có quan hệ một - nhiều ta nhập dữ liệu bảng bên một
trước bên nhiều sau.
- Nếu hai bảng có quan hệ một –một thì việc nhập dữ liệu tùy thuộc vào
thao tác khi tạo quan hệ giữa hai bảng.
* Quy trình tạo lập một CSDL trong Access:
Bước 1: lần lượt xây dựng cấu trúc từng bảng DL trong CSDL:
+ Khai báo danh sách các trường của bảng ở cột Field Name (Nên dùng
chữ không dấu và không dấu cách)
+ Chọn kiểu DL phù hợp cho các trường ở cột Data Type
+ Thiết lập khoá chính cho bảng
+ Thiết lập một số thuộc tính khác cần thiết cho các trường như: Filed
Size, Format, Input Mark:
*Dữ liệu kiểu Number:
VD: 4.50 -> Filed Size: Singer
Format: Fixed
Decimal..: 2
*Dữ liệu kiểu Date/time: -Nếu đề bài hiển thị ngày trước tháng
sau(26/6/1996) thì ta phải đặt thuộc tính của trường đó: Format:

10
DD/MM/YYYY. Còn nếu đề bài hiển thị tháng trước ngày sau thì ta không đặt
thuộc tính Format của trường đó
*Dữ liệu kiểu Text:Nếu đề bài có cột viết chữ in hoa thì ta đặt thuộc tính
Format của trường đó: Format: >

+ Ghi lưu bảng DL.


Bước 2: tạo quan hệ giữa các bảng.
Bước 3: thực hiện nhập DL cho các bảng.

II. CÂU HỎI VÀ BÀI TẬP


1. Câu hỏi trắc nghiệm
Câu 1: Một khóa chính phải
a. Có giá trị duy nhất
b. Không được rỗng
c. Xác định duy nhất một bản ghi.
d. Có giá trị duy nhất (không trùng nhau), không được rỗng, xác định
duy nhất một bản ghi.
Câu 2: Khóa chính trong một bảng dùng để phân biệt hai bản ghi trong:
a. Trong cùng một bảng.
b. Giữa bảng này với bảng khác.
c. Giữa hai bảng có cùng mối quan hệ.
d. Giữa hai bảng bất kỳ.
Câu 3: Tên trường (cột) trong bảng có thể đặt bằng tiếng việt có dấu không:
a. Không được
b. Không nên
c. Được
d. Tùy ý
Câu 4: Hoạt động nào sau đây có sử dụng CSDL:
a. Bán hàng
b. Bán vé máy bay
c. Quản lý học sinh trong nhà trường
d. Tất cả đều đúng
Câu 5: Khi tạo các bảng trong CSDL Access ta nên thực hiện theo trình tự sau:
a. Tạo liên kết, tạo khóa chính, nhập liệu.

11
b. Tạo khóa chính, nhập liệu, tạo liên kết.
c. Tạo khóa chính, tạo liên kết, nhập liệu.
d. Nhập liệu, tạo khóa chính, tạo liên kết

12
2. Bài tập
Bài tập 1 : CƠ SỞ DỮ LIỆU QUẢN LÝ KHO VẬT TƯ
Cho cơ sở dữ liệu (CSDL) gồm các bảng:
Bảng Kho:

Bảng Vattu (Vật tư):

Bảng NXKho (nhập – xuất kho):

Bảng ChitietNX (chi tiết nhập xuất):

Yêu cầu:
- Tạo cơ sở dữ liệu trên và đặt tên cơ sở dữ liệu là QLKho.accdb;
- Tạo cấu trúc các bảng, chọn kiểu dữ liệu và thuộc tính phù hợp cho các
trường, đặt thuộc tính cho các trường dưới đây theo yêu cầu sau:
13
+ Mã kho cho phép nhập tối đa 2 ký tự, chỉ được phép nhập các cụm ký tự
sau: “01”, “02”, “03”, “04”, “05”, nếu nhập sai đưa ra thông báo: “Kiểm tra lại
dữ liệu!!!”.
+ Mã vật tư cho phép nhập tối đa 5 ký tự, bắt đầu bằng 2 chữ cái, tiếp theo
là 3 số, bắt buộc nhập;
+ Định dạng ngày theo dạng “DD/MM/YYYY”;
+ Số lượng bắt buộc lớn hơn 0, nhập sai đưa ra yêu cầu: “Nhập lại SL!!!”
- Chọn khóa chính, tạo liên kết, nhập dữ liệu theo mẫu cho các bảng.
Bài tập 2 : CƠ SỞ DỮ LIỆU QUẢN LÝ NHÂN SỰ
Cho cơ sở dữ liệu gồm các bảng:
Bảng PHONGBAN (Phòng ban):

Bảng CHUCVU (Chức vụ):

BảngCANBO (Cán bộ):

Yêu cầu:
- Tạo cơ sở dữ liệu trên và đặt tên cơ sở dữ liệu là QLNhanSu.accdb;
- Tạo cấu trúc các bảng, chọn kiểu dữ liệu và thuộc tính phù hợp cho các
trường, đặt thuộc tính cho các trường dưới đây theo yêu cầu sau:
+ Mã phòng bắt buộc nhập 2 ký tự hoa;
+ Mã chức vụ bắt đầu bằng 2 chữ “CV” và 2 chữ số tiếp theo;
+ Ngày công nhập từ 0 đến 31, nếu nhập sai đưa ra thông báo “Kiểm tra lại
dữ liệu”
- Chọn khóa chính, tạo liên kết, nhập dữ liệu theo mẫu cho các bảng.
14
Bài tập 3 : CƠ SỞ DỮ LIỆU QUẢN LÝ SÁCH
Cho cơ sở dữ liệu gồm các bảng:
Bảng DocGia (Độc giả):

Bảng DanhMuc (Danh mục):

BảngSach (Sách):

Bảng SachMuon (Sách mượn):

Yêu cầu:
- Tạo cơ sở dữ liệu trên và đặt tên cơ sở dữ liệu là QLSACH.accdb;
- Tạo cấu trúc các bảng, chọn kiểu dữ liệu và thuộc tính phù hợp cho các
trường, đặt thuộc tính cho các trường dưới đây theo yêu cầu sau:
+Số thẻ được viết như sau: 2 kí tự đầu là chữ cái viết hoa, 3 kí tự còn lại là
số, bắt buộc nhập;
- Chọn khóa chính, tạo liên kết, nhập dữ liệu theo mẫu cho các bảng.
15
Bài tập 4: CƠ SỞ DỮ LIỆU QUẢN LÝ BÁN HÀNG
Cho cơ sở dữ liệu gồm các bảng:
HANG HANGBAN
Mã Tên Đơn vị Mã
Đơn giá Mã hóa đơn Số lượng
hàng hàng tính hàng
TA01 Tivi Chiếc 3500000 VT001 TA01 2
TA02 Tủ lạnh Chiếc 2000000 VT002 TA02 10
TA03 Bàn là Chiếc 120000 VT002 TA04 4
TA04 Máy giặt Chiếc 5000000 VT003 TA03 3
VT004 TA04 1
TA05 Túi sách Chiếc 500000
VT005 TA01 12
TA06 Tủ tường Chiếc 7000000
VT005 TA05 5
HOADON
Mã hóa KHACH
Ngày bán Mã khách Mã
đơn Tên khách Địa chỉ Điện thoại
VT001 12/23/2011 MK01 khách
VT002 11/11/2011 MK02 MK01 Trần Văn Đức Hà Nam 0918887698
VT003 10/10/2011 MK03 MK02 Hà Tuấn Anh Hà Nội 0987345455
VT004 02/02/2012 MK02 MK03 Nguyễn Thu Hằng hà Nội 0987654321
VT005 03/03/2012 MK05 MK04 Trần Thu Nga Hà Nội 0912345678
MK05 Nguyễn Ngọc Minh Hải Phòng 01678899990

Yêu cầu:
- Tạo cơ sở dữ liệu trên và đặt tên cơ sở dữ liệu là QLBANHANG.accdb;
- Tạo cấu trúc các bảng, chọn kiểu dữ liệu và thuộc tính phù hợp cho các
trường, đặt thuộc tính cho các trường dưới đây theo yêu cầu sau:
+ Mã hàng, Mã khách có tối đa 4 ký tự, 2 ký tự đầu là chữ cái, các ký tự
còn lại là số hoặc chữ.
+ Mã hóa đơn phải bắt đầu bằng hai ký tự “VT”.
+ Ngày bán phải nhập trong năm 2011 và 2012.
- Chọn khóa chính, tạo liên kết, nhập dữ liệu theo mẫu cho các bảng.

16
Bài tập 5: CƠ SỞ DỮ LIỆU QUẢN LÝ ĐIỂM
Cho cơ sở dữ liệu gồm các bảng:
Bảng Khoa:

Bảng DSSinhVien (Danh sách sinh viên):

Bảng MonHoc (Môn học):

Bảng DiemThi (Điểm thi):

Yêu cầu:
17
- Tạo cơ sở dữ liệu trên và đặt tên cơ sở dữ liệu là QLDiem.accdb;
- Tạo cấu trúc các bảng, chọn kiểu dữ liệu và thuộc tính phù hợp cho các
trường, đặt thuộc tính cho các trường dưới đây theo yêu cầu sau:
+ Mã sinh viên cho phép nhập tối đa 5 ký tự, tất cả là ký tự viết hoa, nhập
bắt đầu bằng 2 chữ cái, sau đấy là 3 chữ số, bắt buộc nhập;
+ Ngày nhập phải được định dạng theo dạng “DD/MM/YYYY”;
+ Các trường điểm nhập trong khoảng từ 0 đến 10, nếu nhập sai đưa ra
thông báo: “Kiểm tra lại dữ liệu!!!”.
- Chọn khóa chính, tạo liên kết, nhập dữ liệu theo mẫu cho các bảng.

18
Bài tập 6: CƠ SỞ DỮ LIỆU QUẢN LÝ THƯ VIỆN
Cho cơ sở dữ liệu gồm các bảng:
Sach
Mã nhà Năm xuất
Mã sách Tên sách Tác giả Số trang
xuất bản bản
TP01 English Grammar in Use Raymond Murphy GD 2000 200
TP02 Lập trình Java VN-Guider TK 2008 300
TP03 Từ điển Anh-Việt Lê Khả Kế TG 2003 3000
TP04 Từ điển Kỹ thuật Trần Ngọc Hoàng TK 2004 500
TP05 DreamWeaver 8 Nguyễn Hoàng GD 2010 100
TP06 SQL Server Hoàng Phan GD 2011 300

Muontra
Nhaxb
Mã thẻ Mã sách Ngày mượn Ngày trả
Mã nhà xuất bản Tên nhà xuất bản
TD01 TP01 1/3/2011 3/15/2011
GD NXB Giáo Dục TD02 TP02 5/13/2011 6/15/2011
KD NXB Kim Đồng TD03 TP04 3/3/2011 4/15/2011
TG NXB Thế giới TD01 TP05 3/10/2011 10/15/2011
TK NXB Thống Kê TD05 TP06 7/4/2011 4/18/2011
TD02 TP01 12/3/2011 3/28/2011
TD04 TP06 6/4/2011 4/15/2011

Bandoc
Mã thẻ Tên bạn đọc Ngày sinh Khoa
TD01 Vũ Hồng Lan 3/23/1990 Kế toán
TD02 Nguyễn Vũ Thanh 4/15/1992 Kế toán
TD03 Hoàng Văn Hùng 6/7/1992 Quản trị nhân lực
TD04 Đào Lan Anh 8/9/1991 Công tác xã hội
TD05 Hoàng Mạnh Tùng 3/15/1990 Công tác xã hội
TD06 Nguyễn Minh Dương 6/25/1992 Bảo Hiểm
Yêu cầu:
- Tạo cơ sở dữ liệu trên và đặt tên cơ sở dữ liệu là QLTHUVIEN.accdb;
- Tạo cấu trúc các bảng, chọn kiểu dữ liệu và thuộc tính phù hợp cho các
trường, đặt thuộc tính cho các trường dưới đây theo yêu cầu sau:
- Mã thẻ có tối đa 4 ký tự, 2 ký tự đầu là chữ cái, 2 ký tự còn lại là số hoặc chữ.
- Mã sách phải bắt đầu bằng hai ký tự “TP”.
- Năm xuất bản trước 2012.
- Chọn khóa chính, tạo liên kết, nhập dữ liệu theo mẫu cho các bảng.

19
Bài tập 7: CƠ SỞ DỮ LIỆU QUẢN LÝ TUYỂN SINH
Cho cơ sở dữ liệu gồm các bảng:

Khuvuc Diem
Khu vực Điểm khu vực Số báo danh Điểm Toán Điểm Lý Điểm Hoá
1 2 a01 6 8 9
2 1 a02 3 4 7
3 0 a03 5 6 7
a04 3 7 8
a05 6 7 3
a06 8 9 8
a07 3 6 8
a08 1 9 4
Diemcong
Mã ưu tiên Loại ưu tiên Điểm cộng
u1 Con liệt sỹ 2
u2 Con thương binh nặng 1.5
u3 Gia đình có công với CM 1
u4 Con em dân tộc 1
u5 Không 0

Danhsach
Số báo danh Họ tên Ngày sinh Giới tính Địa chỉ Khu vực Mã ưu tiên
a01 Nguyễn Tuấn 13/08/1992 Nam Hà Nội 3 u1
a02 Dũng
Hoàng Việt Anh 03/12/1989 Nam Thanh Hoá 2 u5
a03 Vũ Anh Tuấn 05/04/1992 Nam Sơn La 1 u4
a04 Ngô Thu Hương 03/02/1992 Nữ Lào Cai 1 u5
a05 Lê Mỹ Hà 11/12/1990 Nữ Hải Phòng 3 u3
a06 Đặng Việt Tuấn 03/02/1991 Nam Ninh Bình 2 u5
a07 Nguyễn Huy 15/07/1992 Nam Yên Bái 1 u5
a08 Hoàng Thanh
Nguyễn 20/07/1991 Nữ Hoà Bình 1 u5
Hoa
Yêu cầu:
- Tạo cơ sở dữ liệu trên và đặt tên cơ sở dữ liệu là QLTUYENSINH.accdb;
- Tạo cấu trúc các bảng, chọn kiểu dữ liệu và thuộc tính phù hợp cho các
trường, đặt thuộc tính cho các trường dưới đây theo yêu cầu sau:
+ Số báo danh có tối đa 3 ký tự, ký tự đầu là chữ cái, các ký tự còn lại là
số hoặc chữ.
+ Năm sinh phải nhập trước 1993. Điểm Toán, Điểm Lý, Điểm Hóa phải
nhập trong [0,10].
+ Trường Họ tên không được phép để trống.
- Chọn khóa chính, tạo liên kết, nhập dữ liệu theo mẫu cho các bảng.
20
Bài tập 8: CƠ SỞ DỮ LIỆU QUẢN LÝ VÉ TÀU
Cho cơ sở dữ liệu (CSDL) gồm các bảng:
Bảng Tuyentau (Tuyến tàu):

Bảng Lotrinh (Lộ trình):

Bảng Hoadonbanve (Bảng Hóa đơn bán vé tàu):

Yêu cầu:
- Tạo cơ sở dữ liệu trên và đặt tên cơ sở dữ liệu là QLVetau.accdb;
- Tạo cấu trúc các bảng, chọn kiểu dữ liệu và thuộc tính phù hợp cho các trường,
đặt thuộc tính cho các trường dưới đây theo yêu cầu sau:
+ Trường Mã hóa đơn: tối đa 4 ký tự, 2 ký tự đầu là chữ cái, 2 ký tự còn lại là số.
+ Ngày khởi hành cho phép nhập trong năm 2012.
- Chọn khóa chính, tạo liên kết, nhập dữ liệu theo mẫu cho các bảng.
21
Bài tập 9: CƠ SỞ DỮ LIỆU QUẢN LÝ KHÁCH SẠN

Cho cơ sở dữ liệu (CSDL) gồm các bảng:


Bảng Dongiathue (Đơn giá thuê phòng):

Bảng Khachthuephong (Khách thuê phòng):

Bảng Hoadonthuephong (Hóa đơn thuê phòng):

Yêu cầu:
- Tạo cơ sở dữ liệu trên và đặt tên cơ sở dữ liệu là QLKhachsan.accdb;
- Tạo cấu trúc các bảng, chọn kiểu dữ liệu và thuộc tính phù hợp cho các
trường, đặt thuộc tính cho các trường dưới đây theo yêu cầu sau:
+ Trường Mã khách: tối đa 4 ký tự, 2 ký tự đầu là chữ cái, 2 ký tự còn lại
là số.
+ Ngày đến chỉ cho nhập sau ngày 31/12/2011.
- Chọn khóa chính, tạo liên kết, nhập dữ liệu theo mẫu cho các bảng.
22
Bài tập 10: CƠ SỞ DỮ LIỆU QUẢN LÝ ĐIỆN TIÊU THỤ
Cho cơ sở dữ liệu (CSDL) gồm các bảng:
Bảng Loaihinhsudung_Dongia(Loại hình sử dụng_Đơn giá):

Bảng Khachhang (Khách hàng):

Bảng Dientieuthu (Điện tiêu thụ):

Yêu cầu:
- Tạo cơ sở dữ liệu trên và đặt tên cơ sở dữ liệu là QLTiendien.accdb;
- Tạo cấu trúc các bảng, chọn kiểu dữ liệu và thuộc tính phù hợp cho các
trường, đặt thuộc tính cho các trường dưới đây theo yêu cầu sau:
+ Trường Mã khách hàng: tối đa 4 ký tự, 2 ký tự đầu là chữ cái, 2 ký tự còn
lại là số.
+ Mã sử dụng chỉ nhập mã “KD” hoặc “SH” hoặc “SX”
- Chọn khóa chính, tạo liên kết, nhập dữ liệu theo mẫu cho các bảng.

23
III. ĐÁP ÁN, HƯỚNG DẪN GIẢI BÀI TẬP
Bài tập 1: Cơ sở dữ liệu Quản lý kho vật tư
1. Tạo cơ sở dữ liệu:
- Khởi động MS Access: Start\All Programs\Microsoft Office\Microsoft
Access.
- Khởi động VietKey (Unikey), trong Access tốt nhất nên sử dụng các
phông chữ Unicode để gõ tiếng Việt;
- Chọn lệnh File\New:
+ Trong mục File Name nhập tên CSDL: QLKho
+ Chọn Create để lưu vào thư mục mặc định hiển thị dưới tên CSDL hoặc
chọn Browse for a location to put your database để lưu CSDL vào một vị trí khác.
2. Tạo cấu trúc bảng
2.1. Bảng Vật tư:
- Chọn Tab Create\Table Design để mở cửa sổ thiết kế cấu trúc bảng.
- Khai báo các trường cho bảng như sau:

Chú ý:
+ Field Name nhập không dấu tiếng Việt, không dấu cách;
+ Phần Description không bắt buộc nhập;
+ Nên nhập đầy đủ phần Caption (tên trường sẽ hiển thị trong chế độ
Datasheet View) cho tất cả các trường (khác với phần Field Name, phần
Caption có thể nhập bằng tiếng Việt)
- Chọn trường đặt làm khóa chính bằng cách kích chuột vào ô màu xám
nhạt trước tên trường – chọn lệnh Primary Key trên thanh Ribbon;
- Lưu cấu trúc bảng: chọn File\Save hoặc nhấn tổ hợp phím CTRL+S.
Nhập tên bảng (VatTu) vào hộp thoại Table Name, nhấn nút Save.
Thông báo sau đây sẽ xuất hiện nếu chúng ta chưa đặt khóa chính cho bảng.
24
Thông báo này khuyên chúng ta nên đặt khóa chính cho bảng. Nếu chọn
“Yes”, Access sẽ lưu bảng và tự động đặt thêm một trường số tự động (ID) làm
khóa chính của bảng. Nếu chọn “No”, bảng sẽ được lưu không có khóa chính.
Nếu chọn “Cancel”, thao tác lưu bảng sẽ được hủy bỏ, chúng ta quay về với cửa
sổ thiết kế cấu trúc bảng.
- Đóng bảng: nhấn nút x góc trên cùng bên phải của bảng.
2.2.Tạo cấu trúc bảng Kho:
- Lặp lại thao tác chọn Tab Create\Table design để mở cửa sổ thiết kế
bảng mới;
- Khai báo các trường của bảng kho như sau:

- Đặt khóa chính cho bảng -> Lưu bảng -> Đóng bảng.
2.3.Tạo cấu trúc bảng nhập xuất kho:
- Lặp lại các thao tác tương tự như đối với 2 bảng trên, khai báo các
trường cho bảng nhập xuất kho như sau:

- Lưu và đóng bảng.


25
2.4. Tạo cấu trúc bảng chi tiết nhập xuất:
- Lặp lại các thao tác tương tự như đối với các bảng trên, khai báo các
trường cho bảng chi tiết nhập xuất như sau:

Chú ý: để chọn nhiều trường cần chọn trường thứ nhất, nhấn phím
Ctrl+chọn trường cuối cùng.
- Lưu và đóng bảng.
3. Thiết lập quan hệ giữa các bảng:
- Đóng tất cả các bảng trước khi tạo quan hệ.
- Chọn Database Tools – Relationship
- Trong cửa sổ Show Tables, chọn tất cả 4 bảng, nhấn nút Add;
Bây giờ ta sẽ có cửa sổ thiết kế quan hệ dạng như sau:

Quan hệ của các bảng được xây dựng thông qua các khóa chính và khóa
ngoại của chúng. Phải đảm bảo sao cho các khóa chính và khóa ngoại này có
tên trường, dạng dữ liệu, thuộc tính giống nhau.
- Các quan hệ trong CSDL hiện hành:
Bảng vật tư và bảng chi tiết nhập xuất kho – thông qua trường MaVT (Mã
vật tư);
Bảng kho và bảng chi tiết nhập xuất kho - thông qua trường MaKho (số kho);
Bảng nhập xuất kho và bảng chi tiết nhập xuất kho – thông qua trường
SoHD (số hóa đơn).

26
- Kéo thả trường MaVT từ bảng vật tư sang trường MaVT của bảng hóa
chi tiết nhập xuất kho, ta được cửa sổ chỉnh sửa quan hệ như sau:

Tích chọn vào cả 3 ô trong hộp thoại để đảm bảo yêu cầu về tính toàn vẹn
và ràng buộc dữ liệu giữa các trường này.
- Chọn lệnh Create để tạo quan hệ.
- Thực hiện thao tác tương tự như thế đối với các cặp còn lại, kết quả ta có
được một sơ đồ liên kết giữa các bảng như hình sau:

Chú ý:
- Nếu muốn bỏ bớt 1 bảng trong cửa sổ Relationship thì kích phải chuột
vào tiêu đề của bảng , chọn lệnh Hide. Nếu muốn thêm bảng thì kích phải chuột
vào vùng trống trong cửa sổ Relationship, chọn Show Table để xuất hiện cửa sổ
Show Table.
- Muốn xóa liên kết giữa 2 bảng, nhấn phải chuột vào liên kết, chọn Delete.
4. Nhập dữ liệu cho các bảng
Chú ý: nếu các bảng có quan hệ 1 - ∞, phải nhập dữ liệu vào bảng 1
trước, bảng ∞ sau
Thao tác:
- Mở bảng ở chế độ cập nhật dữ liệu (kích đúp vào tên bảng hoặc chọn
chế độ Datasheet View nếu đang mở bảng ở chế độ khác);
- Nhập dữ liệu vào bảng như mẫu đã cho trong bài. Nên nhập dữ liệu lần
lượt theo dòng từu trái sang phải, từ trên xuống dưới.
- Nên đóng bảng lại sau khi đã nhập dữ liệu xong.
Các bài tập còn lại : sinh viên tự làm
27
CHƯƠNG III. TRUY VẤN (QUERY)
I. TÓM TẮT LÝ THUYẾT
3. 1. Các loại truy vấn, các bước tạo truy vấn, cách đặt điều kiện, sắp xếp.
Truy vấn là một công cụ mạnh của access dùng để: tổng hợp, sắp xếp, và
tìm kiếm dữ liệu.
Các loại truy vấn trong Access
Select Query: Truy vấn chọn
Crosstab Query: Truy vấn chéo (thể hiện dòng và cột)
Action Query: Truy vấn hành động gồm
Truy vấn tạo bảng (Make Table Query)
Truy vấn nối (Append Query )
Truy vấn cập nhật (Update Query)
Truy vấn xóa dữ liệu (Delete Query)
SQL Query: Truy vấn được viết bởi ngôn ngữ SQL.
Pass throught Query: Gửi các lệnh đến một CSDL SQL như Microsoft
SQL server.
Các bước tạo truy vấn
- Chọn nguồn dữ liệu để xây dựng truy vấn mới gồm: các bảng hoặc các
truy vấn đã tạo từ trước.
- Tạo lập quan hệ giữa các bảng và các truy vấn nguồn.
- Chọn các trường từ các bảng và các truy vấn nguồn để đưa vào truy vấn
mới, xây dựng các trường mới từ các trường đã có trong bảng (tùy theo yêu cầu)
- Thiết lập điều kiện lọc, sắp xếp các bản ghi (nếu cần). Nếu không access
sẽ đưa ra tất cả các bản ghi.
- Chạy thử, đóng và ghi lại.
(Các bước chi tiết được trình bày tại phần hướng dẫn ví dụ mẫu hoặc tham
khảo trong giáo trình)
Thông thường khi thiết lập điều kiện người ta sử dụng các toán tử sau:
Toán tử Ví dụ Ý nghĩa
< <#20/10/99# Trước ngày 20/10/99
> >#10/10/98# Sau ngày 10/10/98
>= >= #05/05/90# Sau và trong ngày 05/05/90
<> <>#01/01/99# Khác ngày 01/01/99
= = #10/10/97# Trong ngày 10/10/97
Between... and ... Between #1/2/97# and #1/7/97# Từ ngày 1/2/97 đến 1/7/97
Like 8/*/* Tháng 8
Ngoài ra còn sử dụng các toán tử logic: And, Or, Not
28
2. Một số hàm thông dụng
- Hàm toán học.
- Hàm xử lý xâu ký tự, ngày tháng.
- Hàm thống kê
- Hàm điều kiện.

Hàm điều kiện:


+ 2 điều kiện: dùng 1 hàm IIF
IIF(Điều kiện 1,Biểu thức nếu điều kiện 1
đúng,Biểu thức nếu điều kiện 1 không đúng)
+ 3 điều kiện: dùng 2 hàm IIF
IIF(Điều kiện 1,Biểu thức nếu điều kiện 1
đúng,IIF(Điều kiện 2,Biểu thức nếu điều kiện
2 đúng,Biểu thức nếu điều kiện 3 đúng))
VD:Thuong:IIF([ngaycong]>30,1000000,IIF([
ngaycong]>25,500000,0))

29
Tham khảo Bài giảng Tin học cơ bản 2
3. Cách tạo trường kết xuất
Tên trường kết xuất: Biểu thức
Ví dụ: Tong: [Toan] +[Ly]+ [Hoa]
Trong đó Tong (Tổng điểm) là trường kết xuất được tính từ ba trường
Toan (Toán), Ly (Lý), Hoa (Hóa) đã có sẵn trong bảng.
II. CÂU HỎI VÀ BÀI TẬP
1. Câu hỏi trắc nghiệm
Câu 1: Khi tạo truy vấn mới. Dữ liệu nguồn được lấy từ:
a. Bảng
b. Query được tạo trước đó.
c. Cả hai phương án trên.
Câu 2: Để tạo một bảng từ CSDL có sẵn dùng truy vấn nào sau đây:
a. Select Query
b. Crosstab Query
c. Make table Query
d. Update Query

30
2. Bài tập
Bài tập 1 : CƠ SỞ DỮ LIỆU QUẢN LÝ KHO VẬT TƯ
Sử dụng công cụ query của MS Access để xây dựng các truy vấn sau:
1. Tạo truy vấn để lấy các thông tin về tình hình nhập và xuất vật tư ở tất cả các
kho của công ty, gồm các trường: Mã vật tư, Mã kho, Số hóa đơn, Ngày, Số lượng.
Đặt tên truy vấn là QrCau1.
2. Tạo truy vấn lấy danh sách vật tư nhập vào các kho “01”, “02”, “03” và
“04” trong tháng 1 năm 2013, gồm các trường: Mã kho, Mã vật tư, Số hóa đơn,
Giá nhập, Số lượng (Lưu ý: chỉ lấy các hóa đơn nhập).
Đặt tên truy vấn là QrCau2.
3. Tạo truy vấn lấy ra thông tin xuất kho của tất cả các kho trong tháng 12
năm 2012, yêu cầu hiển thị các trường sau: Mã kho, Mã vật tư, Số hóa đơn, Giá
xuất, Số lượng (Lưu ý: chỉ lấy các hóa đơn xuất).
Trong đó: Giá xuất = Giá nhập + 10% Giá nhập.
Đặt tên truy vấn là QrCau3.
4. Tạo truy vấn lấy thông tin chi tiết thanh toán của các hóa đơn nhập và
xuất vật tư, gồm các trường sau: Số hóa đơn, Mã vật tư, Mã kho, Tên kho,
Khách hàng, Số lượng, Giá, Khuyến mãi, Thành tiền.
Trong đó:
Giá = Giá nhập + 10% Giá nhập nếu là hóa đơn xuất; Giá= Giá nhập nếu là
hóa đơn nhập;
Khuyến mãi: nếu nhập tháng 12 được khuyến mãi 2% Giá nhập,còn lại
không có khuyến mãi.
Thành tiền = Số lượng * Giá – Khuyến mãi.
Đặt tên truy vấn là QrCau4.
5. Tạo truy vấn lấy danh sách nhập gạch men, gạch lát của Viglacera và
Prime, yêu cầu hiển thị các trường: Mã vật tư, Tên vật tư, Xuất xứ, Đơn vị, Giá
nhập, Hết hàng, Khuyến mãi, Thành tiền. Đặt tên truy vấn là QrCau5.
6. Tạo truy vấn lấy danh sách xi măng xuất sau ngày 15 hàng tháng, yêu
cầu hiển thị các trường: Mã vật tư, Tên vật tư, Xuất xứ, Số hóa đơn, Ngày, Loại,
Số lượng, Thành tiền. Đặt tên truy vấn là QrCau6.
7. Thống kê tổng số lượng vật tư, tổng thành tiền của từng hóa đơn. Đặt tên
truy vấn là QrCau7.
31
8. Thống kê số lượng trung bình vật tư nhập xuất theo từng ngày. Đặt tên
truy vấn là QrCau8.
9. Thống kê tổng số lượng vật tư nhập xuất theo từng kho. Đặt tên truy vấn
là QrCau9.
10. Thống kê số lượng vật tư nhập xuất của từng kho, theo tháng. Đặt tên
truy vấn là QrCau10.
11. Tính tổng số vật tư nhập và vật tư xuất theo từng kho. Đặt tên truy vấn
là QrCau11.
12. Tính tổng Thành tiền nhập và tổng Thành tiền xuất của từng kho. Đặt
tên truy vấn là QrCau12.
13. Sử dụng query để điều chỉnh cột Giá nhập trong bảng Vật tư: giá vật tư
trong năm 2013 tăng thêm 2% so với giá cũ. Đặt tên truy vấn là QrCau13.
14. Thêm cột Ghi chú vào cuối bảng Vật tư, dùng truy vấn điền cột theo
nguyên tắc sau:
Nếu vật tư đã hết hàng thì điền “Không xuất kho”, còn lại để trống.
Đặt tên truy vấn là QrCau14.
15. Tạo bảng mới với tên VTNhap, lấy ra các hóa đơn nhập kho, yêu cầu
hiển thị các trường sau: Số hóa đơn, Mã vật tư, Mã kho, Ngày, Loại, Số lượng,
Thành tiền. Đặt tên truy vấn là QrCau15.
16. Tạo bảng mới tên VTXuat, lấy ra các hóa đơn xuất kho, yêu cầu hiển
thị các trường sau: Số hóa đơn, Mã vật tư, Mã kho, Ngày, Loại, Số lượng, Thành
tiền. Đặt tên truy vấn là QrCau16..
17. Dùng query để xóa đi các bản ghi có số lượng <100 trong bảng VTnhap
vừa tạo ra. Đặt tên truy vấn là QrCau17.
18. Dùng query để xóa đi các bản ghi của kho số 2 và số 4 trong bảng
VTxuat vừa tạo ra. Đặt tên truy vấn là QrCau18.
19. Dùng query để nhập bảng VTxuat vào bảng VTnhap. Đặt tên truy vấn
là QrCau19.

32
Bài tập 2: CƠ SỞ DỮ LIỆU QUẢN LÝ NHÂN SỰ
Sử dụng công cụ query của MS Access để xây dựng các truy vấn sau:
1. Tạo truy vấn hiển thị các trường sau: Mã cán bộ, Họ và tên, Giới tính,
Hệ số lương, Hệ số phụ cấp, Tên chức vụ, Lương, Phụ cấp.
Trong đó:
Lương = 1080000*Hệ số lương;
Phụ cấp = 1080000*Hệ số phụ cấp.
Đặt tên truy vấn là QrCau1.
2. Tạo truy vấn tính thu nhập cho tất cả nhân viên các phòng với các trường
sau: Mã cán bộ, Họ tên, Ngày sinh, Mã phòng, Hệ số lương, Hệ số phụ cấp, Ngày
công, Lương, Phụ cấp, Thưởng, Bảo hiểm, Thu nhập (sắp xếp tăng dần theo hệ số
lương).
Trong đó:
Thưởng = 700000 với những ai có số ngày công >=30, Thưởng= 400000
với những ai có số ngày công >=27, còn lại Thưởng = 0;
Bảo hiểm = 7% Lương;
Thu nhập = Lương+Phụ cấp+Thưởng – Bảo hiểm.
Đặt tên truy vấn là QrCau2.
3. Tạo danh sách lương cho phòng Tổng hợp và phòng Kế toán, yêu cầu
hiển thị đầy đủ các trường như ở QrCau2. Đặt tên truy vấn là QrCau3.
4. Hãy tạo danh sách các nhân viên nam của phòng Kế toán và phòng
Tổng hợp có số ngày công >=28. Yêu cầu hiển thị các trường: Họ tên, Ngày
sinh, Tên phòng, Lương, Thưởng, Phụ cấp, Bảo hiểm, Thu nhập. Đặt tên truy
vấn là QrCau4.
5. Tạo danh sách lương của các nhân viên có Họ tên bắt đầu bằng chữ “N”
hoặc “L”, kết thúc bằng “g” hoặc “h”, là nhân viên của phòng Kế toán hoặc phòng
Tổ chức, có hệ số lương từ 4.0 trở lên và có số Ngày công không dưới 27. Yêu cầu
hiển thị các trường: Mã cán bộ, Họ và tên, Ngày sinh, Mã phòng, Lương, Thưởng,
Phụ cấp, Thu nhập.
Đặt tên truy vấn là QrCau5.
6. Tạo danh sách thống kê tổng tiền Thưởng, tổng Thu nhập, Thu nhập cao
nhất, Thu nhập thấp nhất của từng phòng, gồm các trường: Mã phòng, Tên

33
phòng, tổng Thưởng, tổng Thu nhập, Thu nhập cao nhất, Thu nhập thấp nhất
(không hiển thị số thập phân). Đặt tên truy vấn là QrCau6.
7. Tính tổng số tiền bảo hiểm mà các cán bộ phải nộp theo từng phòng. Đặt
tên truy vấn là QrCau7.
8. Thống kê tổng số nhân viên, số nhân viên nam, nhân viên nữ theo từng
phòng. Đặt tên truy vấn là QrCau8.
9. Tính lương trung bình theo từng chức vụ. Đặt tên truy vấn là QrCau9.
10. Tính thu nhập trung bình của các cán bộ nam, cán bộ nữ theo từng
phòng. Đặt tên truy vấn là QrCau10.
11. Tạo bảng mới KhenThuong chứa danh sách những người được khen
thưởng (có thưởng), gồm các trường: Họ và tên, Ngày sinh, Giới tính, Tên chức
vụ, Tên phòng, Ngày công, Lương, Thưởng, Thu nhập.
Đặt tên query là QrCau11.
12. Sử dụng query để cộng thêm cho mỗi người 01 Ngày công vào bảng
Cán bộ. Đặt tên query là QrCau12.
13. Dùng query để xoá trong bảng Nhân viên những bản ghi nào có số
Ngày công = 0.
Đặt tên query là QrCau13.
14. Tạo bảng phòng ban bổ sung và nhập dữ liệu như sau:

Sử dụng query để nhập dữ liệu của bảng PhongBanBoSung vào bảng


Phòng ban đã có. Đặt tên query là QrCau14.
15. Sử dụng query để tạo bảng mới có chứa danh sách thu nhập của phòng
Kế toán (tên bảng: ThuNhapKeToan) gồm các trường sau: Mã nhân viên, Họ
tên, Ngày sinh, Tên phòng, Hệ số lương, Hệ số phụ cấp, Ngày công, Lương, Phụ
cấp, Thưởng, Bảo hiểm, Thu nhập (chỉ lấy phòng Kế toán).
Đặt tên query là QrCau15.

34
Bài tập 3 : CƠ SỞ DỮ LIỆU QUẢN LÝ SÁCH
Sử dụng công cụ query của MS Access để xây dựng các truy vấn sau:
1. Tổng hợp thông tin sách mượn, yêu cầu hiển thị các trường sau: Số
phiếu, Số thẻ, Tên độc giả, Lớp, Khoa, Mã sách, Thư mục, Tên sách, Tác giả,
Ngày mượn, Hạn trả, Tình trạng.Đặt tên truy vấn là QrCau1.
2. Tổng hợp thông tin trả sách, yêu cầu hiển thị các trường sau: Số thẻ,
Tên độc giả, Ngày sinh, Lớp, Khoa, Mã sách, Tên sách, Ngày mượn, Hạn trả, Số
ngày mượn, Hình thức mượn, Tình trạng, Ghi chú.
Trong đó: Số ngày mượn = Hạn trả - Ngày mượn (nếu trả trong ngày tính 1 ngày);
Hình thức mượn: nếu trả sách trong ngày thì ghi “Đọc tại chỗ”, mượn
trong vòng một tuần thì ghi “Mượn ngắn hạn”, mượn quá một tháng thì ghi
“mượn dài hạn”.
Ghi chú: Nếu sách đã đến hạn trả và chưa trả (tình trạng là False) thì ghi
“Quá hạn”, còn lại bỏ trống. Đặt tên truy vấn là QrCau2.
3. Tạo danh sách sách mượn của sinh viên hai khoa Kế toán và Bảo hiểm.
Yêu cầu hiển thị đầy đủ các trường như sau: Số thẻ, Tên độc giả, Ngày sinh,
Lớp, Mã sách, Tên sách, Ngày mượn, Hạn trả, Tình trạng, Ghi chú. Đặt tên truy
vấn là QrCau3.
4. Lấy danh sách các độc giả mượn sách trong năm 2012 của các khoa:
Bảo hiểm, Công tác Xã hội, Quản lý. Yêu cầu hiển thị đầy đủ các trường như
trong bảng Độc giả. Đặt tên truy vấn là QrCau4.
5. Tạo truy vấn lấy thông tin về các thẻ mượn đã quá hạn, yêu cầu hiển thị
đầy đủ các trường như trong bảng Độc giả. Đặt tên truy vấn là QrCau5.
6. Thống kê số đầu sách của từng danh mục sách có trong thư viện. Đặt
tên truy vấn là QrCau6.
7. Thống kê số lượt mượn của mỗi đầu sách. Đặt tên truy vấn là QrCau7.
8. Đếm số thẻ độc giả của từng lớp, theo khoa. Đặt tên truy vấn là QrCau8.
9. Tính số lượt mượn từng ngày của mỗi mã sách. Đặt tên truy vấn là
QrCau9.
10. Tạo danh sách các Tên sách có chữ cái đầu tiên là “G”, do sinh viên
khoa Kế toán hoặc khoa Quản lý mượn trong tháng 12 năm 2012. Yêu cầu hiển
thị đầy đủ các trường sau: Số thẻ, Số phiếu, Mã sách, Tên sách, Ngày mượn,
Hạn trả, Tình trạng, Ghi chú. Đặt tên truy vấn là QrCau10.

35
11. Thống kê số lượt mượn sách của sinh viên mỗi Khoa theo từng tháng.
Đặt tên truy vấn là QrCau11.
12. Dùng truy vấn để điền vào cột Ghi chú của bảng Sách mượn, nếu sách
đến hạn chưa trả thì ghi “Quá hạn”, nếu đến hạn và đã trả rồi thì ghi là “Đã trả”,
còn lại bỏ trống. Đặt tên truy vấn là QrCau12.
13. Tạo thêm một cột Số trang vào cuối bảng sách, tạo một bảng bổ sung
như sau:

Dùng truy vấn để nhập số trang từ bảng bổ sung vào trường số trang của
bảng sách. Đặt tên truy vấn là QrCau13.
14. Sử dụng truy vấn để tạo bảng mới chứa danh sách các Giáo trình, yêu
cầu hiển thị các trường: Mã sách, Tên sách, Tác giả, Nhà xuất bản, Năm xuất
bản, Giá bìa, Số trang. Đặt tên bảng mới tạo là GiaoTrinh.
Đặt tên truy vấn là QrCau14.
15. Sử dụng truy vấn để xóa đi trong bảng độc giả các bản ghi về các thẻ
mượn đã hết hạn sử dụng. Đặt tên truy vấn là QrCau15.
16. Sử dụng truy vấn để tạo bảng mới chứa danh sách độc giả của các
khoa Bảo hiểm, Kế toán, Công tác xã hội. Yêu cầu hiển thị các trường như trong
bảng Độc giả. Đặt tên truy vấn là QrCau16.

36
Bài tập 4: CƠ SỞ DỮ LIỆU QUẢN LÝ BÁN HÀNG
Sử dụng công cụ query của MS Access để xây dựng các truy vấn sau:
1. Đưa ra thông tin gồm : Mã khách, Tên khách, Mã hóa đơn, Ngày bán,
Mã hàng, Tên hàng, Số lượng, Đơn giá, Thành tiền. Trong đó:
Thành tiền = Số lượng * Đơn giá, biết rằng nếu số lượng hàng khách mua
>=5 thì được giảm 20% đơn giá. Đặt tên query là cau1.

2. Tạo query cau2 đưa ra thông tin gồm: Mã khách, Tên khách, Mã
hóa đơn, Ngày bán, Mã hàng, Tên hàng, Số lượng, Đơn giá, Thành tiền,
Thưởng. Biết rằng:
- Nếu khách hàng có hóa đơn thanh toán >10000000 và mua trong
năm 2012 được thưởng 3000000.
- Nếu khách hàng có hóa đơn thanh toán >10000000 và mua trong
năm 2011 được thưởng 2000000.Còn lại thưởng 1000000.
3. Tạo query cau3 đưa ra thông tin gồm: Mã khách, Tên khách, Mã hóa
đơn, Ngày bán, Mã hàng, Tên hàng, Số lượng, Đơn giá, Thành tiền, Thưởng.
Chỉ gồm các khách hàng không mua “Tivi’’ hoặc “Tủ lạnh’’và có tổng giá trị
>=20 000
3.a. Tạo Qr3a đưa ra thông tin gồm các trường: Mã khách, Tên khách, Mã
hóa đơn, Mã hàng, Ngày bán, Số lượng, Đơn giá, Thành tiền, Thưởng. Chỉ
lấy các bản ghi thỏa mãn những điều kiện sau: mua tủ lạnh hoặc máy giặt
với số lượng >=5, trong năm 2011.
3.b. Tạo Qr3b gồm các trường như trong Cau2, chỉ lấy các bản ghi thỏa
mãn điều kiện: khách hàng họ Nguyễn, mua hàng trong tháng 2 hoặc
tháng 3 năm 2012.

4. Thống kê tổng tiền của từng khách hàng. Đặt tên query là cau4.
5. Thống kê số lần bán, thành tiền bán được lớn nhất theo từng năm. Đặt
tên query là cau5.
6. Thống kê tổng tiền bán được theo từng năm cho mỗi khách hàng, tổng
số lượng hàng bán trong từng năm. Đặt tên query là cau6.
7. Tạo query cau7 để tạo bảng gồm Tên khách, Ngày bán,Tên hàng,Số
lượng, Đơn giá, Thành tiền, Thưởng.Đặt tên bảng là BANGMOI.
8. Tạo query cau8 để cập nhật dữ liệu cho cột thưởng trong BANGMOI.
Biết thưởng được tính như câu 2.
9. Tạo query cau9 đưa ra thông tin gồm: Mã khách, Tên khách, Mã hóa
đơn, Ngày bán, Mã hàng, Tên hàng, Số lượng, Đơn giá, Thành tiền. Chỉ bao
gồm các khách hàng có họ tên bắt đầu bằng chữ ’’T’’ hoặc ’’N’’.
10. Tạo query cau10 đưa ra thông tin gồm: Mã khách, Tên khách, Mã hóa
đơn, Ngày bán, Mã hàng, Tên hàng, Số lượng, Đơn giá, Thành tiền. Chỉ bao
37
gồm các khách hàng có họ tên bắt đầu bằng chữ ’’T’’ hoặc ’’N’’ và mua hàng
với số lượng >10.
11. Tạo query cau11 dùng để xóa khỏi BANGMOI tất cả các bản ghi có
ngày bán hàng trong năm 2011.
12. Tạo query cau12 dùng để thêm BANGMOI tất cả các bản ghi vừa xóa
trong cau11.

38
Bài tập 5: CƠ SỞ DỮ LIỆU QUẢN LÝ ĐIỂM
Sử dụng công cụ query của MS Access để xây dựng các truy vấn sau:
1. Tạo danh sách sinh viên gồm các trường sau : Mã sinh viên, Họ và tên (Họ
và + Tên), Giới tính, Ngày sinh, Tuổi, Mã lớp, Mã khoa, Mã môn học, Điểm quá
trình, Điểm thi lần 1, Điểm thi lại, Điểm môn học. Đặt tên truy vấn là QrCau1.
2. Tạo danh sách các bạn nữ của hai khoa Công tác Xã hội và Bảo hiểm
Xã hội, yêu cầu hiển thị các trường: Mã sinh viên, Họ tên, Ngày sinh, Giới tính,
Mã lớp, Mã khoa. Đặt tên truy vấn là QrCau2.
3. Tạo danh sách điểm cho sinh viên Đại học khóa 8, gồm các trường sau: Mã
sinh viên, Họ và tên (Họ và + Tên), Giới tính, Ngày sinh, Mã lớp, Mã khoa, Tên
môn học, Điểm quá trình, Điểm thi lần 1, Điểm thi lại, Điểm môn học, Kết quả.
Trong đó: Điểm môn học = trung bình điểm quá trình và điểm thi lần 1
(điểm quá trình lấy 40%, điểm thi lấy 60%, nếu thi lại thì tính điểm thi lại thay
vào điểm thi lần 1);
Kết quả: nếu điểm môn học dưới 5 thì điền “Học lại môn”, còn lại bỏ trống.
Đặt tên truy vấn là QrCau3.
4. Lập danh sách các sinh viên khoa Kế toán và khoa Bảo hiểm Xã hội
phải thi lại (sau khi thi lần 1 có điểm tổng kết môn <5). Yêu cầu hiển thị các
trường sau: Mã sinh viên, Họ và tên, Giới tính, Ngày sinh, Mã lớp, Tên khoa,
Tên môn học, Điểm quá trình, Điểm thi lần 1, Điểm tổng kết môn. Trong đó:
Điểm tổng kết môn = (Điểm quá trình*4+Điểm thi lần 1*6)/10.
Đặt tên truy vấn là QrCau4.
5. Tính điểm trung bình chung và xếp loại cho sinh viên, yêu cầu hiển thị
các trường sau: Mã sinh viên, Họ tên, Điểm trung bình, Xếp loại. Trong đó:
Điểm trung bình = trung bình cộng tất cả các Điểm môn học của sinh viên;
Xếp loại theo nguyên tắc sau:
- Nếu Điểm trung bình >=9 thì xếp loại xuất sắc;
- Nếu Điểm trung bình >=8 thì xếp loại giỏi;
- Nếu Điểm trung bình >=6.5 thì xếp loại khá;
- Nếu Điểm trung bình >=5 thì xếp loại trung bình; còn lại xếp loại Yếu.
Đặt tên truy vấn là QrCau5.
6. Tạo danh sách sinh viên không phải thi lại (không có Điểm tổng kết
môn<5) gồm các trường sau : Mã sinh viên, Họ tên, Ngày sinh, Giới tính, Mã
lớp, Mã khoa, Điểm tổng kết môn.
Trong đó, Điểm tổng kết môn tính như ở QrCau4.
Đặt tên truy vấn là QrCau6.

39
7. Từ QrCau6, hãy tạo danh sách sinh viên có học bổng, yêu cầu hiển thị
các trường sau: Mã sinh viên, Họ tên, Trung bình Điểm tổng kết môn, Học
bổng. Trong đó:
Học bổng = 1500000 nếu có Trung bình Điểm tổng kết môn >9;
Học bổng = 700000 nếu có Trung bình Điểm tổng kết môn >=8.5;
Còn lại không có học bổng.
Đặt tên truy vấn là QrCau7.
8. Tính điểm trung bình chung của các lớp, yêu cầu hiển thị các trường
sau: Mã lớp, Điểm trung bình lớp. Trong đó:
Điểm trung bình lớp = điểm trung bình chung của tất cả các sinh viên trong lớp.
Đặt tên truy vấn là QrCau8.
9. Tính điểm trung bình chung của từng lớp theo khoa. Đặt tên truy vấn là
QrCau9.
10. Thống kê tổng số sinh viên, số sinh viên nam, sinh viên nữ của từng khoa.
Đặt tên truy vấn là QrCau10.
11. Tạo danh sách các sinh viên nữ của khoa Bảo hiểm và khoa Công tác
Xã hội có sinh nhật trong quý I và các sinh viên nam của khoa Kế toán có sinh
nhật trong quý IV. Đặt tên truy vấn là QrCau11.
12. Sử dụng truy vấn để tạo bảng mới chứa danh sách của sinh viên phải
thi lại. Đặt tên bảng là DSThiLai. Đặt tên truy vấn là QrCau12.
13. Dùng truy vấn để điền các cột Điểm môn học và Ghi chú của bảng
DiemThi.
Trong đó: Điểm môn học = trung bình điểm quá trình và điểm thi lần 1
(điểm quá trình lấy 40%, điểm thi lấy 60%, nếu thi lại thì tính điểm thi lại thay
vào điểm thi lần 1);
Ghi chú: nếu điểm môn học dưới 5 thì điền “Học lại môn”, còn lại bỏ trống.
Đặt tên truy vấn là QrCau13.
14. Dùng truy vấn để xóa đi các bản ghi của sinh viên các lớp Đ8QL*
trong bảng DanhSachSinhVien. Đặt tên truy vấn là QrCau14.
15. Tạo cấu trúc bảng và nhập dữ liệu như sau :

Dùng truy vấn để nhập bảng mới vào bảng MonHoc.


Đặt tên truy vấn là QrCau15.
40
Bài tập 6: CƠ SỞ DỮ LIỆU QUẢN LÝ THƯ VIỆN
Sử dụng công cụ query của MS Access để xây dựng các truy vấn sau:
1.Tạo Query BaoHiem gồm các trường: Mã thẻ, Tên bạn đọc, Ngày mượn,
Ngày trả, Số lượng, Mã sách trong đó chỉ bao gồm những sinh viên của Khoa
Bảo hiểm.
2.Tạo Query “English Grammar in Use” gồm các trường: Mã sinh viên,
Tên sinh viên, Ngày mượn, Ngày trả, Mã sách, Tên sách để đưa ra những sinh
viên đã mượn sách “English Grammar in Use”.
3.Tạo Query Muonsach gồm các trường: Mã sách, Tên sách, Số trang, Số
ngày mượn, Ghi chú, trong đó:
Số ngày mượn = Ngày trả - Ngày mượn
Ghi chú: Nếu số ngày mượn >=15 ngày thi ghi là “ Đã hết hạn”, trái lại
thì ghi là “Còn hạn”.
4. Tạo Query QLSinhvien với các trường: Tên bạn đọc, Khoa (chỉ bao
gồm những Sinh viên họ Nguyễn của Khoa Bảo hiểm hoặc Kế toán)
5. Tạo Query Tonghop như sau:
Mã thẻ Tên bạn đọc Mã sách Ngày mượn Ngày trả Số ngày mượn
6.Thống kê số lần mượn sách theo Khoa, đặt tên là SLMKhoa
7.Thống kê thời gian mượn nhiều nhất và ít nhất trong mỗi Khoa
8. Tạo Query TienTT để tính tiền phải trả cho sinh viên mượn sách quá hạn
gồm các trường: Mã sách, Tên sách, Số ngày mượn, Số ngày quá hạn, Tiền TT,
biết rằng:
Số ngày được mượn tối đa là 15 ngày
Tiền TT= Số ngày quá hạn x Đơn giá ngày
Nếu mượn quá 15 ngày thì mỗi ngày quá hạn phải nộp phạt 3000 đồng.
9. Tạo query TAOBANG bao gồm Mã sách, Tên sách, Số ngày mượn, Số
ngày quá hạn, Kết luận đặt tên bảng là Trả sách.
10. Thống kê tổng Tiền TT phải trả đối với những người sử dụng sách quá
hạn theo Khoa, đặt tên là TTKhoa.
11. Cập nhật lại cột Kết luận của bảng Trả sách như sau: Điền “Đã hết
hạn” nếu số ngày mượn >15 ngược lại đi “Còn hạn”.
12. Xoá các bản ghi trong bảng Trả sách có cột kết luận là "Còn hạn".
13. Tạo bảng BH-KT gồm: Mã thẻ, tên bạn đọc, ngày mượn, ngày trả,
khoa chỉ gồm sinh viên các khoa: kế toán và bảo hiểm.

41
Bài tập 7: CƠ SỞ DỮ LIỆU QUẢN LÝ TUYỂN SINH
Sử dụng công cụ query của MS Access để xây dựng các truy vấn sau:
1. Đưa ra thông tin gồm: Số báo danh, Họ tên, Ngày sinh, địa chỉ, khu
vực, điểm toán, điểm lý, điểm hóa, Tổng điểm (Tổng điểm = điểm toán+ điểm
lý+điểm hóa + điểm khu vực + điểm cộng), Kết quả. Biết rằng nếu Tổng
điểm>=20 ghi ’’Đỗ’’ ngược lại ghi ’’trượt’’. Đặt tên query là cau1.
2. Đưa ra thông tin gồm: Số báo danh, Họ tên, Ngày sinh, địa chỉ, khu
vực, điểm toán, điểm lý, điểm hóa, Tổng điểm, Kết quả. Chỉ gồm các thí sinh
’’Đỗ’’. Đặt tên query là cau2.
3. Đưa ra thông tin gồm: Số báo danh, Họ tên, Ngày sinh, địa chỉ, khu
vực, điểm toán, điểm lý, điểm hóa, Tổng điểm, Kết quả. Chỉ gồm các thí sinh
’’Đỗ’’ quê tại Hà nội hoặc Hải phòng. Đặt tên query là cau3.
4. Đưa ra thông tin gồm: Số báo danh, Họ tên, Ngày sinh, địa chỉ, khu
vực, điểm toán, điểm lý, điểm hóa, Tổng điểm, Kết quả. Chỉ gồm các thí sinh có
họ tên bắt đầu bằng ’’N’’ và kết thúc bằng ’’g’’. Đặt tên query là cau4.
5. Đưa ra thông tin gồm: Số báo danh, Họ tên, Ngày sinh, địa chỉ, khu
vực, điểm toán, điểm lý, điểm hóa, Tổng điểm, Kết quả. Chỉ gồm các thí sinh
’’Đỗ’’ và điểm tất cả các môn thi đều >=8. Đặt tên query là cau5.
6. Thống kê: Điểm toán thấp nhất, số thí sinh, tổng điểm cao nhất theo
từng khu vực. Đặt tên query là cau6.
7. Thống kê: Điểm lý cao nhất, số thí sinh, tổng điểm cao nhất theo từng
năm sinh của thí sinh. Đặt tên query là cau7.
8. Thống kê số thí sinh đỗ, trượt theo từng năm sinh của thí sinh. Đặt tên
query là cau8.
9. Thống kê số thí sinh đỗ, trượt theo từng năm sinh của thí sinh, tổng
điểm cao nhất theo từng khu vực. Đặt tên query là cau9.
10. Thống kê số thí sinh đỗ, trượt theo từng khu vực của thí sinh, điểm
toán cao nhất theo từng khu vực. Đặt tên query là cau9.
11. Thống kê số thí sinh nam, nữ theo từng năm sinh của thí sinh, tổng
điểm cao nhất theo từng năm sinh. Đặt tên query là cau11.
12. Tạo query cau12 để tạo bảng gồm Số báo danh, Họ tên, Ngày sinh,
khu vực, Điểm ưu tiên, Tổng điểm, Kết quả.Đặt tên bảng là BANGMOI.
13. Tạo query cau13 xóa khỏi BANGMOI các thí sinh ở khu vực 3.
14. Tạo query cau14 thêm vào BANGMOI các thí sinh ở khu vực 3
15. Tạo query cau15 cập nhật lại trường điểm cộng trong BANGMOI biết
rằng nếu mã ưu tiên là u1, u2 được cộng 1.5 điểm, u3 được cộng 1 điểm, u4 được
cộng 0.5 điểm.
42
Bài tập 8: CƠ SỞ DỮ LIỆU QUẢN LÝ VÉ TÀU
Sử dụng công cụ query của MS Access để xây dựng các truy vấn sau:
1. Hiển thị danh sách các tàu có ngày khởi hành trong tháng 4 và tháng 5,
hạng vé là “Giường mềm”, bao gồm các trường Tên tàu, Mã tuyến, Lộ trình,
Ngày khởi hành, Hạng vé, Số lượng vé . Đặt tên truy vấn là Qrcau1.
2. Hiển thị danh sách các hóa đơn có Mã tuyến là “TTTN” và “TTĐP”,
ngày khởi hành trước ngày 25 tháng 5 năm 2012, có số lượng vé <50 , bao gồm
các trường Mã hóa đơn, Tên tàu, Mã tuyến, Lộ trình, Ngày khởi hành, Hạng vé,
Số lượng vé . Đặt tên truy vấn là Qrcau2.
3. Hiển thị danh sách các hóa đơn có tên tàu bắt đầu bằng 2 ký tự “SE”
hoặc “HN”, khởi hành sau tháng 4, có đi chiều ngược lại, bao gồm các trường
Mã hóa đơn, Tên tàu, Mã tuyến, Lộ trình, Ngày khởi hành, Hạng vé, Chiều
ngược lại, Số lượng vé, Giá vé . Đặt tên truy vấn là Qrcau3.
4. Tính tiền vé thu được, bao gồm các trường: Mã hóa đơn, Tên tàu, Mã
tuyến, Lộ trình, Ngày khởi hành, Hạng vé, Chiều ngược lại, Số lượng vé, Giá vé,
Tiền vé, Tiền ăn, Thực thu, biết rằng:
Tiền vé= Số lượng vé*Giá vé, biết Tiền vé được giảm 10% nếu Số lượng
vé>30, Tiền vé được giảm 5% nếu Số lượng vé>20, còn lại thì Tiền vé giữ nguyên.
Tiền ăn là 500000, đối với lộ trình “Tàu chậm Hà nội - Sài gòn” và có đi
chiều ngược lại; Tiền ăn là 400000, đối với lộ trình “Tàu nhanh Hà nội - Sài
gòn” và có đi chiều ngược lại; còn lại Tiền ăn là 200000.
Thực thu= Tiền vé+Tiền ăn. Đặt tên truy vấn là Qrcau4.
5. Hiển thị danh sách các hóa đơn có mã tuyến là “TTQT”, có ngày khởi
hành trong tháng 6, bao gồm các trường Mã hóa đơn, Tên tàu, Mã tuyến, Lộ
trình, Ngày khởi hành, Hạng vé, Chiều ngược lại, Số lượng vé, Giá vé, Tiền vé,
Tiền ăn, Thực thu . Đặt tên truy vấn là Qrcau5.
6. Thống kê tổng số lượng vé bán, tổng tiền vé của từng Hạng vé. Đặt
tên truy vấn là Qrcau6.
7. Thống kê trung bình số lượng vé bán, số tiền thực thu của từng tàu.
Đặt tên truy vấn là Qrcau7.
8. Thống kê tổng số tiền Thực thu trong từng tháng của mỗi Hạng vé.
Đặt tên truy vấn là Qrcau8.
9. Thống kê tổng số tiền bán vé trong từng tháng của mỗi Tuyến tàu,
tổng số vé bán được trong từng tháng. Đặt tên truy vấn là Qrcau9.

43
10. Thêm trường Ưu đãi (nhân dịp 30/4) vào cuối bảng Hóa đơn bán vé, tạo
Query cập nhật cho trường Ưu đãi, biết rằng Ưu đãi =150000, đối với các hóa đơn
có ngày khởi hành trong tháng 4, còn lại Ưu đãi =0. Đặt tên truy vấn là Qrcau10.
11. Tạo bảng mới với tên là BangMoi1, chứa dữ liệu về giá vé tàu của các
tuyến tàu có hai ký tự cuối là “TN” và “ĐP”, bao gồm các trường Tên tàu, Mã
tuyến, Lộ trình, Hạng vé, Chiều ngược lại, Giá vé. Đặt tên truy vấn là Qrcau11.
12. Tạo bảng mới với tên là BangMoi2, chứa dữ liệu về các Hóa đơn vé
tàu có Hạng vé là “Giường mềm” và Mã tuyến là “TTQT”, bao gồm các trường
Mã hóa đơn, Mã xe, Mã tuyến, Tên lái xe, Số chỗ ngồi, Ngày khởi hành, Hạng
vé, Số lượng vé. Đặt tên truy vấn là Qrcau12.
13. Tạo một bảng LotrinhBoSung có cấu trúc như bảng Lotrinh, sau đó
nhập dữ liệu như mẫu sau:

Dùng Append Query để bổ sung dữ liệu từ bảng Lotrinhbosung vào bảng


Lotrinh. Đặt tên truy vấn là Qrcau13.
14. Dùng query để xoá trong bảng Lotrinh những bản ghi nào có Tên tàu
là “SP2”.

44
Bài tập 9 : CƠ SỞ DỮ LIỆU QUẢN LÝ KHÁCH SẠN
Sử dụng công cụ query của MS Access để xây dựng các truy vấn sau:
1. Hiển thị danh sách các khách thuê phòng có giới tính là Nam, địa chỉ
tại “Nam định”, bao gồm các trường sau: Tên khách, Giới tính, Địa chỉ, Ngày
đến, Ngày đi, Loại phòng, Đơn giá. Đặt tên truy vấn là Qrcau1.
2. Hiển thị danh sách các khách thuê phòng có ngày đến trong tháng 11 và
thuê Loại phòng là “Đôi A” bao gồm các trường sau: Mã khách, Tên khách, Địa chỉ,
Ngày đến, Ngày đi, Loại phòng, Đơn giá. Đặt tên truy vấn là Qrcau2.
3. Hiển thị danh sách các khách thuê phòng Đơn, có số ngày ở >1
(ngày ở = ngày đi-ngày đến), yêu cầu hiển thị đầy đủ các trường sau: Mã
khách, Tên khách, Ngày đến, Ngày đi, Loại phòng, Đơn giá. Đặt tên truy
vấn là Qrcau3.
4. Hiển thị danh sách các khách thuê phòng có ngày đến sau ngày 20
tháng 10 năm 2012, có địa chỉ ở “Hà nội” hoặc “Nam định”, bao gồm các
trường Mã hóa đơn, Tên khách, Địa chỉ, Tên phòng, Loại phòng, Ngày đến,
Ngày đi. Đặt tên truy vấn là Qrcau4.
5. Hiển thị thông tin về các khách thuê phòng có giới tính là “Nữ”, ngày
đến trước tháng 12, Loại phòng thuê có ký tự cuối là “B”, bao gồm các trường
sau: Tên khách, Giới tính, Địa chỉ, Số CMT, Ngày đến, Ngày đi, Loại phòng,
Đơn giá. Đặt tên truy vấn là Qrcau5.
6. Tính tiền thuê phòng của khách, bao gồm các trường sau: Mã hóa đơn,
Tên khách, Địa chỉ, Tên phòng, Loại phòng, Ngày đến, Ngày đi, Số ngày ở,
Tiền phòng, Tiền dịch vụ, Tiền thanh toán, biết rằng:
Số ngày ở=Ngày đi-Ngày đến (nếu khách đi trong ngày tính là 1 ngày);
Tiền phòng= Số ngày ở*Đơn giá, biết rằng nếu khách ở quá 3 tuần thì
giảm 10% Đơn giá, nếu khách ở quá 1 tuần thì giảm 5%Đơn giá.
Tiền dịch vụ là 500000, nếu Loại phòng là A và số ngày ở >=10, Tiền
dịch vụ là 350000 nếu Loại phòng là B và số ngày ở >=15, còn lại Tiền dịch vụ
là 200000.
Tiền thanh toán=Tiền phòng +Tiền dịch vụ+Tiền ăn, biết rằng Tiền ăn=Số
ngày ở*85000.
Đặt tên truy vấn là Qrcau6.
7. Thống kê trung bình số ngày ở, tiền thanh toán theo từng loại phòng.
Đặt tên truy vấn là Qrcau7.

45
8. Thống kê số khách Nam, Nữ theo từng loại phòng, tổng tiền thanh toán
theo từng loại phòng. Đặt tên truy vấn là Qrcau8.
9. Thống kê tổng tiền thanh toán theo từng khách của từng loại phòng, số
lượt thuê của từng khách. Đặt tên truy vấn là Qrcau9.
10. Tạo thêm trường “Ghi chú” vào cuối bảng Thue. Dùng truy vấn điền
vào cột Ghi chú của bảng Thue theo nguyên tắc sau: nếu số ngày ở của khách
lớn hơn 7 thì ghi “Được giảm giá 10%Tiền thanh toán”, nếu khách đi trong ngày
thì ghi “Tính 1 ngày”, còn lại ghi “---”. Đặt tên truy vấn là Qrcau10.
11. Tạo bảng mới với tên là BangMoi1, chứa dữ liệu về các khách hàng có
giới tính Nam, địa chỉ ở “Hà nội”, bao gồm các trường Mã khách, Tên khách,
Giới tính, Địa chỉ, Số CMT. Đặt tên truy vấn là Qrcau11.
12. Tạo bảng mới với tên là BangMoi2, chứa dữ liệu về các khách hàng ở
phòng đôi, bao gồm các trường: Tên khách, Địa chỉ, Số CMT, Ngày đến, Ngày đi,
Loại phòng, Đơn giá. Đặt tên truy vấn là Qrcau12.

46
Bài tập 10: CƠ SỞ DỮ LIỆU QUẢN LÝ ĐIỆN TIÊU THỤ
Sử dụng công cụ query của MS Access để xây dựng các truy vấn sau:
1. Hiển thị danh sách các khách hàng có loại hình sử dụng là “Kinh doanh”,
có Số điện tiêu thụ vượt định mức (biết rằng định mức tiêu thụ là 100 số), bao gồm
các trường sau: Tên khách hàng, Địa chỉ, Loại hình sử dụng, Mã công tơ, Chỉ số
đầu kỳ, Chỉ số cuối kỳ. Đặt tên truy vấn là Qrcau1.
2. Hiển thị danh sách các khách hàng có loại hình sử dụng là “Sinh hoạt”
hoặc “Sản xuất”, có Ngày cuối kỳ sau ngày 25 tháng 3 năm 2012, bao gồm các
trường sau: Tên khách hàng, Địa chỉ, Loại hình sử dụng, Mã công tơ, Chỉ số đầu
kỳ, Chỉ số cuối kỳ. Đặt tên truy vấn là Qrcau2.
3. Hiển thị danh sách các khách hàng có Tên khách hàng bắt đầu bằng chữ
“N” và có địa chỉ ở Trần Duy Hưng, bao gồm các trường sau: Tên khách hàng,
Địa chỉ, Loại hình sử dụng, Mã công tơ, Số điện tiêu thụ (biết Số điện tiêu
thụ=Chỉ số cuối kỳ - Chỉ số đầu kỳ). Đặt tên truy vấn là Qrcau3.
4. Tính tiền điện cho tất cả các khách hàng. Yêu cầu hiển thị đầy đủ các
trường: Tên khách hàng, Địa chỉ, Loại hình sử dụng, Mã công tơ, Chỉ số đầu kỳ,
Chỉ số cuối kỳ, Số điện tiêu thụ, Tiền chưa thuế, Thuế VAT, Thực trả, biết rằng:
Số điện tiêu thụ=Chỉ số cuối kỳ - Chỉ số đầu kỳ
Tiền chưa thuế=Số điện tiêu thụ*Đơn giá, biết rằng 100 số đầu được tính
theo Đơn giá thông thường, các số tiếp theo thì Đơn giá tăng thêm 500đồng/1số
Thực trả = Tiền chưa thuế + Thuế VAT, biết rằng Thuế VAT=10%Tiền
chưa thuế
Đặt tên truy vấn là Qrcau4.
5. Thống kê trung bình số điện tiêu thụ của từng loại hình sử dụng. Đặt
tên truy vấn là Qrcau5.
6. Thống kê số điện tiêu thụ lớn nhất, nhỏ nhất của từng loại hình sử dụng.
Đặt tên truy vấn là Qrcau6.
7. Thống kê tổng tiền thực trả của từng khách hàng theo từng loại hình sử
dụng. Đặt tên truy vấn là Qrcau7.
8. Thống kê tổng số điện tiêu thụ của từng khách hàng theo từng loại hình
sử dụng, tổng tiền thực trả của từng khách hàng. Đặt tên truy vấn là Qrcau8.
9. Tạo bảng mới với tên là BangMoi, chứa dữ liệu về các khách hàng có
địa chỉ ở Cầu giấy hoặc Trần Duy Hưng, bao gồm các trường : Mã khách hàng,
Tên khách hàng, Địa chỉ, Mã công tơ, Loại hình sử dụng, Đơn giá. Đặt tên truy
vấn là Qrcau9.

47
III. ĐÁP ÁN, HƯỚNG DẪN GIẢI BÀI TẬP
Bài tập 1 : CƠ SỞ DỮ LIỆU QUẢN LÝ KHO VẬT TƯ
Câu 1:
- Chọn Tab Create\Query Design
Trong hộp thoại Show Table: chọn các bảng có chứa các trường cần đưa
vào truy vấn làm các bảng nguồn bằng cách chọn tên bảng, nhấn Add (trong câu
này ta lấy các bảng nhập xuất kho và chi tiết nhập xuất kho), nhấn Close để
đóng hộp thoại Show Tables.
- Đưa các trường Mã vật tư, Mã kho, Số hóa đơn, Số lượng vào truy vấn
bằng cách kích đúp tên trường trong bảng nguồn hoặc kéo tên trường từ bảng
nguồn thả vào dòng Field của truy vấn;
- Thực hiện truy vấn bằng cách chọn lệnh Run (dấu chấm than màu đỏ
thanh Ribbon);
- Lưu truy vấn: chọn File\Save hoặc nhấn tổ hợp phím CTRL+S -> nhập
tên QrCau1. Đóng truy vấn.
Câu 2:
- Thao tác tương tự như câu 1, ta đưa các bảng VatTu, NXKho và
ChiTietNX vào làm nguồn. Ta đưa các trường Mã kho, Mã vật tư, Số hóa đơn,
Giá nhập, Số lượng, Loại hợp đồng, Ngày vào truy vấn;
- Trên dòng Show của lưới thiết kế, bỏ chọn tại các trường Loại hợp đồng
và Ngày;
- Đặt điều kiện lọc dữ liệu cho các trường trên dòng Criteria:
+ LoaiHD: “Nhập”
+ Ngay: Month([Ngay])=1 and Year([Ngay])=2013
+ MaKho: <>”05”
Cửa sổ thiết kế truy vấn có dạng như sau:

- Thực hiện truy vấn.


- Chọn File\Save để lưu truy vấn QrCau2. Đóng truy vấn.
48
Câu 3:
- Thao tác tương tự như câu 2. Điều kiện lọc dữ liệu:
+ LoaiHD: “Xuất”
+ Ngay: Month([Ngay])=12 and Year([Ngay])=2012
- Xây dựng trường tính toán mới:
Trên dòng Field, ở ô muốn đặt trường giá xuất gõ:
Giá xuất: [GiaNhap]*1.1
Chú ý:
+ Tên trường mới trong biểu thức được viết trước dấu hai chấm “:”, sau
dấu hai chấm là biểu thức tính toán;
+ Tên trường trong biểu thức tính toán phải được đặt trong dấu ngoặc
vuông “[]” và phải giống tên trường khai báo ở phần Field Name của bảng
hoặc trùng với tên trường mới vừa được xây dựng trong truy vấn.
- Thực hiện truy vấn.
- Chọn File\Save để lưu truy vấn QrCau3. Đóng truy vấn.
Câu 4:
- Đưa vào làm nguồn các bảng VatTu, NXKho và ChitietNX.
- Đưa các trường Số hóa đơn, Mã vật tư, Mã kho,Tên kho, Khách hàng, Số
lượng vào truy vấn;
- Xây dựng thêm các trường mới:
Giá: IIf([LoaiHD]="Nhập",[GiaNhap],[GiaNhap]*1.1)
Khuyến mãi: IIf(Month([Ngay])=12,[SoLuong]*[Giá]*0.02,0)
Thành tiền: [Giá]*[SoLuong]-[Khuyến mãi]
- Thực hiện truy vấn.
- Lưu truy vấn QrCau4.
- Đóng truy vấn.
Câu 5: Đưa qrCau4 vào làm nguồn
- Các trường tính toán xây dựng tương tự như qrCau4.
- Điều kiện lọc dữ liệu:
+ LoaiHD: “Nhập”
+ TenVT: “Gạch men*” or “Gạch lát*”

49
+ XX: Prime or Viglacera.
- Thực hiện, lưu và đóng truy vấn qrCau5.
Câu 6: Đưa qrCau4 vào làm nguồn
- Điều kiện lọc dữ liệu:
+ LoaiHD: “Xuất”
+ TenVT: “Xi măng*”
+ Ngay: Day([Ngay])>15.
Câu 7:
- Đưa qrCau4 vào làm nguồn, đưa vào tham gia truy vấn các trường: Số
hóa đơn, Số lượng, Thành tiền.
- Trên thanh Ribbon chọn Totals.
- Trên dòng Total:
+ SoHD: Group By
+ Soluong, Thành tiền: Sum

- Thực hiện, lưu và đóng truy vấn.


Câu 8, câu 9, câu 10, câu 11, câu 12 tương tự như câu 8.
Câu 13:
- Đưa bảng vật tư vào làm nguồn, đưa trường giá nhập vào truy vấn;
- Trên thanh Ribbon, mục Query type chọn Update;
- Ở dòng Update to của giá nhập, gõ công thức: [GiaNhap]*1.02.
- Thực hiện truy vấn, ta nhận được câu hỏi sau:

50
Nếu chọn Yes giá nhập trong bảng vật tư sẽ được tăng thêm 2%, nếu chọn
No tạm thời chương trình không thay đổi giá nhập.
- Lưu và đóng truy vấn qrCau13.
Câu 14:
- Tạo truy vấn, đưa bảng vật tư vào làm nguồn, đưa trường Ghi chú vào truy vấn;
- Trong Tab Design chọn Update query
- Ở dòng Update to của ghi chú, gõ công thức:
IIf([HetHang]= Yes,"Không xuất kho"," ")
- Thực hiện truy vấn tương tự như câu 13
- Lưu và đóng truy vấn qrCau14.
Câu 15:
- Đưa các trường vào truy vấn như yêu cầu của câu hỏi;
- Trong menu Design chọn Make – Table;
- Nhập tên bảng mới (VTNhap) vào mục Table Name;
- Đặt điều kiện lọc dữ liệu cho trường LoaiHD: “Nhập”;
- Thực hiện truy vấn, ta nhận được câu hỏi sau:

Yes: bảng mới sẽ được tạo ra với 5 dòng dữ liệu thỏa mãn điều kiện lọc;
No: không làm gì.
- Lưu và đóng truy vấn qrCau15.
Câu 16 tương tự câu 15.
Câu 17:
- Đưa bảng VTNhap vào làm nguồn, đưa trường số lượng vào truy vấn;
- Trong menu Design chọn Delete;
- Trên dòng Criteria gõ điều kiện: < 100
51
- Thực hiện truy vấn, ta nhận được hộp thoại sau:

Yes: 03 bản ghi thỏa mãn điều kiện sẽ bị xóa khỏi bảng VTNhap;
No: không xóa.
- Lưu và đóng truy vấn qrCau17.
Câu 18: tương tự như câu 17.
Câu 19:
- Đưa bảng VTNhap vào làm nguồn, đưa tất cả các trường của bảng vào
truy vấn (kích đúp vào nốt hoa thị (*) trong cửa sổ bảng);
- Trong menu Design chọn Append;

Trong danh sách Table Name chọn tên bảng đích (VTXuat), chọn OK;
- Thực hiện truy vấn:

Yes: nhập dữ liệu của bảng VTNhap vào bảng VTXuat;


No: không nhập.
- Lưu và đóng truy vấn qrCau19.

52
CHƯƠNG IV. MẪU BIỂU (FORM)
I. TÓM TẮT LÝ THUYẾT
1. Giới thiệu
Form là một công cụ thiết kế giao diện (cửa sổ chương trình - màn hình
làm việc) cho người sử dụng phần mềm, là bộ phận giao tiếp giữa người dùng
với ứng dụng.
2. Thiết kế Form dùng Form Wizard
Bước 1: chọn Tab Create trên thanh Ribbon, kích nút Form Wizard

Bước 2: Xuất hiện cửa sổ Form Wizard, chọn các thông tin cần đưa lên Form

- Tables/Queries: chọn bảng hoặc truy vấn có các trường cần đưa lên Form.
+ Available Fields: phần cửa sổ chứa tên các trường của bảng hoặc truy
vấn cần đưa lên form.
+ Selected Fields: phần cửa sổ chứa tên các trường của bảng hoặc truy
vấn được chọn để đưa lên Form.
Để lấy tên các trường sang Selected Fields sử dụng các nút lệnh: > (1
trường), >>(tất cả các trường). Để loại tên các trường khỏi Selected Fields sử
dụng các nút lệnh: <, <<
- Kích nút Next.
Chú ý: có thể chọn các trường trên nhiều bảng hoặc truy vấn.

53
Bước 3: chọn bố cục (Layout) cho form.
Có 4 kiểu bố cục có thể thiết lập được cho form là: Columnar, Tabular,
Datasheet hoặc Justified.

Bước 4: nhập tên cho Form và hoàn tất việc thiết kế

- What title do you want for your form?: nơi nhập tên cho Form.
- Open the form to view or enter information: kích hoạt ngay Form vừa
thiết kế và có thể cập nhật, chỉnh sửa dữ liệu, xem thông tin ngay.
- Modify the form’s design: mở Form ra ở chế độ Design view để chỉnh
sửa cấu trúc.
- Kích nút Finish để hoàn tất việc thiết kế.
54
3. Cấu trúc Form
Cấu trúc một Form thông thường gồm 5 phần: Page Header, Form
Header, Detail, Form Footer, Page Footer

- Form Header: tiêu đề đầu của Form, chỉ xuất hiện một lần ở đầu trang
đầu tiên trên Form, hiển thị trong chế độ Form View. Trong dải Form Header
thường chứa dòng tiêu đề của Form.
- Page Header: hiện ở đầu mỗi trang in nhưng không hiển thị trong chế
độ Form View.
- Detail: dùng để hiển thị dữ liệu tất cả các trường lấy từ các bảng hay truy vấn,...
- Page Footer: hiện ở cuối mỗi trang in nhưng không hiển thị trong chế độ
Form View.
- Form Footer: tiêu đề cuối của Form, chỉ xuất hiện một lần ở cuối trang
cuối cùng trên Form, hiển thị trong chế độ Form View. Trong dải Form Footer
thường chứa Text box tính toán hoặc các nút lệnh điều khiển Form.
4. Các chế độ hiển thị Form
Để chuyển đổi giữa các chế độ hiển thị Form, nhấn chuột vào nút View
trên Tab Home:

55
5. Chỉnh sửa và trình bày Form trong chế độ Design View
Cách 1: thực hiện đến bước 4 trong chế độ thiết kế Form dùng Form
Wizard, ta chọn Modify the form’s design/ Finish. Khi đó From sẽ được hiển
thị ở chế độ Design view để chỉnh sửa cấu trúc.
Cách 2: nhấn chuột phải vào Form đã tạo chọn Design View
- Nhấn chuột vào đối tượng, khi đó khung viền quanh đối tượng sẽ nổi lên;
- Khi con trỏ chuột đổi hình mũi tên bốn chiều ta có thể di chuyển đối
tượng; chọn màu chữ, phông chữ, cỡ chữ, căn lề (Format\Font);
- Trỏ con trỏ chuột vào tám điểm mấu ở quanh khung đối tượng, con trỏ
chuột đổi thành hình mũi tên hai chiều, khi đó có thể kéo để thay đổi kích thước
của đối tượng; căn chỉnh khoảng cách giữa các đối tượng.
Chú ý: Trỏ con trỏ chuột vào mép của các thành phần Form (Detail, Form
Footer), khi con trỏ chuột đổi thành mũi tên hai chiều có thể thay đổi kích thước
thành phần.
* Chèn các điều khiển thuộc nhóm lệnh Controls vào Form
Các điều khiển thuộc nhóm lệnh Controls được sử dụng như một phương
tiện chính để xây dựng các biểu mẫu, mỗi điều khiển có một chức năng và
nhiệm vụ nhất định.

Các điều khiển chính sử dụng trên Form là: (Label), (Text
box), (Button), (List box), (Check box),...
Cách chèn một điều khiển:
Bước 1: chọn loại điều khiển bằng cách kích nút tương ứng trên Controls
Bước 2: di chuột đến vị trí cần đặt điều khiển trên Form và kích chuột
Bước 3: thực hiện các sửa đổi cần thiết
 Label (Nhãn): thường dùng để nhập các dòng tiêu đề, giải thích, ghi chú.
 Text box (Hộp văn bản): dùng để hiển thị dữ liệu, cập nhật dữ liệu,
hiển thị kết quả tính toán.

56
II. CÂU HỎI VÀ BÀI TẬP
1. Câu hỏi trắc nghiệm
Câu 1: Mẫu biểu (Form) trong Access dùng để:
a. Hiển thị, cập nhật dữ liệu cho bảng và tổ chức giao diện chương trình
b. Quản trị người dùng
c. Quản lý các tệp tin
Câu 2: Một mẫu biểu thông thường gồm có các thành phần:
a. Form Header, Form Fields, Form Detail, Form Footer
b. Page Header, Detail, Page Footer
c. Form Header, Page Header, Detail, Page Footer, Form Footer
d. Form Header, Page Header, Form Fields, Page Footer, Form Footer

57
2. Bài tập

Bài tập 1 : CƠ SỞ DỮ LIỆU QUẢN LÝ KHO VẬT TƯ

Hãy dùng công cụ Form của Access để tạo các mẫu biểu như mẫu sau:
1. Tạo Form có tên là FrCau1 như mẫu sau: Tabular

2. Tạo Form có tên là FrCau2 như mẫu sau: Justified

3. Tạo Form có tên là FrCau3 như mẫu sau: Columnar

58
Bài tập 2: CƠ SỞ DỮ LIỆU QUẢN LÝ NHÂN SỰ

Hãy dùng công cụ Form của Access để tạo các mẫu biểu như mẫu sau:
1. Tạo Form có tên là FrCau1 như mẫu sau: TABULAR

2. Tạo Form có tên là FrCau2 như mẫu sau: JUSTIFIED

3. Tạo Form có tên là FrCau3 như mẫu sau: COLUMNAR

59
Bài tập 3 : CƠ SỞ DỮ LIỆU QUẢN LÝ SÁCH
Hãy dùng công cụ Form của Access để tạo các mẫu biểu như mẫu sau:
1. Tạo Form có tên là FrCau1 như mẫu sau:

2. Tạo Form có tên là FrCau2 như mẫu sau:

3. Tạo Form có tên là FrCau3 như mẫu sau:

60
Bài tập 4: CƠ SỞ DỮ LIỆU QUẢN LÝ BÁN HÀNG
COLUMNAR, TABULAR, DATASHEET, JUSTIFIED
Hãy dùng công cụ Form của Access để tạo các mẫu biểu như mẫu:
1. Form nhập dữ liệu cho bảng hàng hóa :

2. Form nhập dữ liệu cho bảng Khách hàng (Tabular):

4.Form xem thông tin bán hàng:

Bài tập 5: CƠ SỞ DỮ LIỆU QUẢN LÝ ĐIỂM


Hãy dùng công cụ Form của Access để tạo các mẫu biểu như mẫu:
1. Tạo Form có tên là FrCau1 như mẫu sau:

61
2. Tạo Form có tên là FrCau2 như mẫu sau:

3. Tạo Form có tên là FrCau3 như mẫu sau:

62
Bài tập 6: CƠ SỞ DỮ LIỆU QUẢN LÝ THƯ VIỆN
Hãy dùng công cụ Form của Access để tạo các mẫu biểu như mẫu:
1. Form nhập bảng Sach :

Hoặc:

2. Form nhập bảng Bandoc :

3. Form nhập bảng muontra :

63
Bài tập 7: CƠ SỞ DỮ LIỆU QUẢN LÝ TUYỂN SINH
Hãy dùng công cụ Form của Access để tạo các mẫu biểu như mẫu:
1. Form nhập dữ liệu cho bảng danh sách :

2.Form nhập dữ liệu cho bảng Diem:

3. Form thông tin điểm:

4. Form điểm ưu tiên:

64
Bài tập 8: CƠ SỞ DỮ LIỆU QUẢN LÝ VÉ TÀU
Hãy dùng công cụ Form của Access để tạo các mẫu biểu như mẫu sau:
1. Tạo Form có tên là Frcau1 như mẫu sau:

2. Tạo Form có tên là Frcau2 như mẫu sau:

3. Tạo Form có tên là Frcau3 như mẫu sau:

4. Tạo Form có tên là Frcau4 như mẫu sau:

65
Bài tập 9: CƠ SỞ DỮ LIỆU QUẢN LÝ KHÁCH SẠN
Hãy dùng công cụ Form của Access để tạo các mẫu biểu như mẫu sau:
1. Tạo Form có tên là Frcau1 như mẫu sau:

2. Tạo Form có tên là Frcau2 như mẫu sau:

3. Tạo Form có tên là Frcau3 như mẫu sau:

4. Tạo Form có tên là Frcau4 như mẫu sau:

66
Bài tập 10: CƠ SỞ DỮ LIỆU QUẢN LÝ ĐIỆN TIÊU THỤ
Hãy dùng công cụ Form của Access để tạo các mẫu biểu như mẫu sau:
1. Tạo Form có tên là Frcau1 như mẫu sau:

2. Tạo Form có tên là Frcau2 như mẫu sau:

3. Tạo Form có tên là Frcau3 như mẫu sau:

4. Tạo Form có tên là Frcau4 như mẫu sau:

67
III. ĐÁP ÁN, HƯỚNG DẪN GIẢI BÀI TẬP
Bài tập 1: CƠ SỞ DỮ LIỆU QUẢN LÝ KHO VẬT TƯ
Câu 1:
- Chọn Tab Create\Form Wizard
Bước 1: Chọn các trường đưa vào Form:
+ Tables/Queries: chọn bảng chi tiết nhập xuất làm nguồn;

+ Đưa các trường của bảng nguồn trong dang sách Available Fields vào
Form bằng cách chọn tên trường, kích chọn mũi tên sang phải, nếu muốn đưa
tất cả các trường vào Form, kích vào mũi tên đúp sang phải.
Nếu muốn đưa trường ra khỏi Form thì chọn tên trường trong danh sách
Selected Fields, kích mũi tên sang trái để bỏ.
- Chọn Next để đi tiếp;
Bước 2: Chọn cấu trúc Form:

Đánh dấu vào ô chọn Tabular;


- Chọn Next để đi tiếp;
68
Bước 3: Nhập tên Form:
- Nhập tên Form vào mục: What title do your form?
- Chọn Finish để kết thúc việc tạo Form;
Bước 4: Chỉnh sửa Form:
- Mở Form ở chế độ Design, ta có cửa sổ thiết kế Form như sau:

- Thực hiện chỉnh sửa các mục sau theo đúng mẫu:
+ Màu chữ, phông chữ, cỡ chữ, căn lề;
+ Căn chỉnh khoảng cách giữa các đối tượng, chỉnh độ rộng, chiều cao
của các đối tượng nếu cần thiết.
Nguyên tắc thao tác:
+ Kích chuột vào đối tượng đồng nghĩa với chọn đối tượng, khi đó khung
viền quanh đối tượng sẽ nổi lên;
+ Khi con trỏ chuột đổi hình mũi tên bốn chiều ta có thể di chuyển đối tượng;
+ Rà con trỏ chuột vào tám điểm mấu ở quanh khung đối tượng, con trỏ
chuột đổi thành hình mũi tên hai chiều, khi đó có thể kéo để thay đổi kích thước
của đối tượng;
+ Rà con trỏ chuột vào mép của các thành phần Form (Detail, Form
Footer), khi con trỏ chuột đổi thành mũi tên hai chiều có thể thay đổi kích thước
thành phần.
- Chỉnh sửa Form về đúng dạng mẫu
- Lưu Form dưới tên FrCau1 và đóng Form.
Câu 2: tạo Form tương tự như ở câu1, chọn cấu trúc Justified, thay đổi
kích thước và sắp xếp vị trí của các trường để được Form như mẫu.
Câu 3: tạo Form tương tự như ở câu1, chọn cấu trúc Columnar.

69
CHƯƠNG V. BÁO BIỂU (REPORT)

I. TÓM TẮT LÝ THUYẾT


1. Giới thiệu
Report là công cụ dùng để thiết kế, in ấn các báo cáo tổng hợp dữ liệu, dữ
liệu được lấy từ các bảng và các truy vấn. Report còn cho phép tổ chức và trình
bày dữ liệu theo nhóm, tính toán và thống kê dữ liệu theo nhóm...
2. Thiết kế Report dùng Report Wizard
Bước 1: Chọn Tab Create trên thanh Ribbon. Nhấn nút Report Wizard

Bước 2: chọn dữ liệu nguồn cho Report

- Tables/Queries: chọn bảng hoặc truy vấn có các trường cần đưa lên Report.
+ Available Fields: phần cửa sổ chứa tên các trường của bảng hoặc truy
vấn cần đưa lên Report.
+ Selected Fields: phần cửa sổ chứa tên các trường của bảng hoặc truy
vấn được chọn để đưa lên Report. Để lấy tên các trường sang Selected Fields
sử dụng các nút lệnh: > (1 trường), >>(tất cả các trường). Để loại tên các trường
khỏi Selected Fields sử dụng các nút lệnh: <, <<
- Nhấn Next.
Bước 3: chọn trường cần nhóm, nhấn nút >, nhấn Next để tiếp tục.

70
Bước 4: chọn Field cần sắp xếp và lựa chọn kiểu sắp xếp, nếu cần tính
toán cho trường nào đó, chọn Summary Options..., nhấn chuột vào ô kiểm giao
giữa trường và hàm cần tính, nhấn OK. Nhấn Next:

Bước 5: chọn bố cục Layout và hướng giấy cho Report; nhấn Next

Bước 6: nhập tên cho Report và hoàn tất việc thiết kế

- What title do you want for your report?: nơi nhập tên cho Report.
- Preview the report: kích hoạt ngay Report vừa thiết kế và có thể cập
nhật, chỉnh sửa dữ liệu, xem thông tin ngay.
- Modify the report’s design: mở Report ra ở chế độ Design view để
chỉnh sửa cấu trúc.
- Nhấn nút Finish để hoàn tất việc thiết kế.
71
3. Cấu trúc Report
Trong chế độ Design View cấu trúc của một Report gồm 5 dải Page
Header, Report Header, Detail, Report Footer, Page Footer, nếu Report có
gộp nhóm thì còn thêm hai dải: phần đầu của nhóm: in tiêu đề nhóm, tiêu đề cột;
phần cuối của nhóm: thống kê tổng hợp về nhóm, tổng các cột, trung bình các cột.

- Page Header/Footer: chứa tiêu đề đầu trang, cuối trang. Nội dung đặt
trong phần Page Header/Footer (chèn số trang, tiêu đề, logo, ngày giờ) sẽ xuất
hiện ở đầu và cuối mỗi trang.
- Report Header/Footer: tiêu đề đầu và cuối Report, nội dung đặt trong
Report Header/Footer (chèn các công thức tính toán, thống kê dữ liệu) chỉ xuất
hiện ở đầu trang của trang đầu tiên và phần cuối trang của trang cuối cùng.
- Detail: chứa nội dung chính của Report, hiển thị dữ liệu trong dữ liệu
nguồn dưới dạng các Textbox bound control.
- Group Header/Footer: đối với các Report có phân nhóm thì ngoài các
phần cơ bản còn có thêm phần kết nhóm là Group Header/Footer (nội dung
trong phần này là tiêu đề của nhóm, dùng để thống kê dữ liệu theo nhóm)
4. Các chế độ hiển thị Report
Giống như các chế độ hiển thị Form.
5. Chỉnh sửa và trình bày Report trong chế độ Design View
Cách 1: thực hiện đến bước 6 trong chế độ thiết kế Report dùng Report
Wizard, ta chọn Modify the report’s design/Finish. Khi đó Report sẽ được
hiển thị ở chế độ Design view để chỉnh sửa cấu trúc.
Cách 2: nhấn chuột phải vào Report đã tạo chọn Design View
* Chèn các điều khiển thuộc nhóm lệnh Controls vào Report
Tương tự như chèn điều khiển vào Form

72
 Tạo Text Box tính toán:
Bước 1: nhấn nút Text Box trên Control, nhấn chuột vào vị trí trên
Report cần chèn Text Box

Bước 2: Xuất hiện , nhập nhãn vào hộp Text, nhập công
thức bắt đầu bằng dấu = vào hộp Unbound (ví dụ: =Sum([Thucthu]))
 Chèn thêm trường vào Report: nhấn nút lệnh Add Existing Fields,
xuất hiện thanh công cụ Field List chọn Show all tables/chọn bảng chứa các
trường cần đưa vào Report, nhấn chuột vào tên trường (Field) từ Field List và
kéo vào vị trí mong muốn trên Report.
6. Phân nhóm và tổng hợp dữ liệu theo nhóm
6.1. Sử dụng Report Wizard:
Các bước 1, 2, 3, 5, 6: thực hiện như các thiết kế Report thông thường.
Riêng bước 4: nhấn nút , chọn trường cùng với hàm cần
tính (Sum hoặc Avg, Min, Max), nhấn OK. Nhấn Next
6.2. Report Grouping
Trong trường hợp sử dụng Report Wizard để thiết kế Report nhưng quên
chưa gộp nhóm chúng ta vẫn có thể gộp nhóm bằng cách:
- Khi Report hiển thị ở chế độ Design View, chọn Tab Design, nhấn

chuột vào nút


- Xuất hiện khung Group, Sort and Total bên dưới cửa sổ thiết kế:

- Nhấn chuột vào nút Add a Sort để chọn Field sắp xếp.
- Nhấn chuột vào nút Add a group để chọn Field kết nhóm, chọn Field
kết nhóm trong Field list, trên cửa sổ thiết kế xuất hiện thanh MaHD header.
- Chọn , trên cửa sổ thiết kế xuất hiện thanh MaHD footer.
- Nhấn nút with no total để mở menu Totals:

∗ Total On: chọn field chứa dữ liệu thống kê. Type: chọn phép thống kê.
73
* Chọn vị trí đặt các ô thống kê bằng cách check vào các ô tùy chọn:
+ Show Grand Total: đặt ô thống kê trong phần Report header/footer.
+ Show group subtotal as % of Grand Total: đặt ô thống kê trong
phần Group header/footer.
+ Show subtotal in group header: đặt ô thống kê trong phần Group header.
+ Show subtotal in group footer: đặt ô thống kê trong phần Group footer.
II. CÂU HỎI VÀ BÀI TẬP
1. Câu hỏi trắc nghiệm
Câu 1: Các báo biểu lấy thông tin hiển thị từ các đối tượng nào trong CSDL:
a. Lấy từ các bảng và truy vấn
b. Lấy từ Form và bảng
c. Lấy từ Form và truy vấn
Câu 2: Một báo biểu thông thường gồm có các thành phần:
a. Report Header, Report Fields, Report Detail, Report Footer
b. Page Header, Detail, Page Footer
c. Report Header, Page Header, Detail, Page Footer, Report Footer và
có thể có các dải Group Header, Group Footer
d. Report Header, Page Header, Report Fields, Page Footer, Report Footer

74
2. Bài tập
Bài tập 1 : CƠ SỞ DỮ LIỆU QUẢN LÝ KHO VẬT TƯ
Hãy sử dụng công cụ Report của MS Access để tạo các bản báo cáo sau:
1. Tạo Report có tên là RpCau1 như mẫu sau:Tabular

2. Tạo Report có tên là RpCau2 như mẫu sau: Justified

3. Tạo Report có tên là RpCau3 như mẫu sau: Stepped

75
4. Tạo Report có tên là RpCau4 như mẫu sau: Block

5. Tạo Report có tên là RpCau5 như mẫu sau:Outline

76
Bài tập 2: CƠ SỞ DỮ LIỆU QUẢN LÝ NHÂN SỰ
Hãy sử dụng công cụ Report của MS Access để tạo các bản báo cáo sau:
1. Tạo Report có tên là RpCau1 như mẫu sau:

2. Tạo Report có tên là RpCau2 như mẫu sau:

3. Tạo Report có tên là RpCau3 như mẫu sau:

77
4. Tạo Report có tên là RpCau4 như mẫu sau:

5. Tạo Report có tên là RpCau5 như mẫu sau:

78
Bài tập 3 : CƠ SỞ DỮ LIỆU QUẢN LÝ SÁCH
Hãy sử dụng công cụ Report của MS Access để tạo các bản báo cáo sau:
1. Tạo Report có tên là RpCau1 như mẫu sau:

2. Tạo Report có tên là RpCau2 như mẫu sau:

3. Tạo Report có tên là RpCau3 như mẫu sau:

79
4. Tạo Report có tên là RpCau4 như mẫu sau:

5. Tạo Report có tên là RpCau5 như mẫu sau:

80
Bài tập 4: CƠ SỞ DỮ LIỆU QUẢN LÝ BÁN HÀNG
Hãy sử dụng công cụ Report của MS Access để tạo các bản báo cáo sau:
1. Tổng hợp hàng bán: Steped

2. Thống kê bảo thông tin bán hàng:Block

3. Tổng hợp thông tin bán hàng : Outline

81
Bài tập 5: CƠ SỞ DỮ LIỆU QUẢN LÝ ĐIỂM
Hãy sử dụng công cụ Report của MS Access để tạo các bản báo cáo sau:
1. Tạo Report có tên là RpCau1 như mẫu sau:

2. Tạo Report có tên là RpCau2 như mẫu sau:

82
3. Tạo Report có tên là RpCau3 như mẫu sau:

83
4. Tạo Report có tên là RpCau4 như mẫu sau:

4. Tạo Report có tên là RpCau5 như mẫu sau:

84
Bài tập 6: CƠ SỞ DỮ LIỆU QUẢN LÝ THƯ VIỆN
Hãy sử dụng công cụ Report của MS Access để tạo các bản báo cáo sau:
1. Thông tin nộp phạt :

2. Thông tin tổng hợp theo nhà xuất bản

3.Thông tin sách mượn.

4. Thông tin chi tiết sách mượn

85
Bài tập 7: CƠ SỞ DỮ LIỆU QUẢN LÝ TUYỂN SINH
Hãy sử dụng công cụ Report của MS Access để tạo các bản báo cáo sau:
1. Tạo Report danh sách thí sinh dự thi

2. Tạo Report tổng hợp điểm.

3. Tạo Report tổng hợp kết quả của các thí sinh

4.Tạo Report tổng hợp kết quả chung của các thí sinh

86
Bài tập 8: CƠ SỞ DỮ LIỆU QUẢN LÝ VÉ TÀU
Hãy sử dụng công cụ Report của MS Access để tạo các bản báo cáo sau:
1. Tạo Report có tên là Rptcau1 như mẫu sau:

2.Tạo Report có tên là Rptcau2 như mẫu sau:

87
3.Tạo Report có tên là Rptcau3 như mẫu sau:

Bài tập 9: CƠ SỞ DỮ LIỆU QUẢN LÝ KHÁCH SẠN


Hãy sử dụng công cụ Report của MS Access để tạo các bản báo cáo sau:
1. Tạo report có tên là Rptcau1 như mẫu sau:

2. Tạo Report có tên là Rptcau2 như mẫu sau:

88
Bài tập 10: CƠ SỞ DỮ LIỆU QUẢN LÝ ĐIỆN TIÊU THỤ
Hãy sử dụng công cụ Report của MS Access để tạo các bản báo cáo sau:
1. Tạo Report có tên là Rptcau1 như mẫu sau:

2. Tạo Report có tên là Rptcau2 như mẫu sau:

89
III. ĐÁP ÁN, HƯỚNG DẪN GIẢI BÀI TẬP
Bài tập 1: CƠ SỞ DỮ LIỆU QUẢN LÝ KHO VẬT TƯ
Câu 1:
1.1. Tạo Report: chọn Tab Create\Report Wizard

Bước 1: chọn các trường đưa vào Report:


+ Tables/Queries: chọn bảng vật tư làm nguồn;
+ Tương tự như thao tác khi tạo Form, sử dụng mũi tên để đưa các trường
cần có trong mẫu vào Report;
+ Chọn Next để chuyển đến bước tiếp theo;
Bước 2: Chọn trường để phân nhóm. Trong Report này không có phân
nhóm, bởi vậy ta bỏ qua bước này, nhấn Next để đi tiếp.
Bước 3: Sắp xếp dữ liệu. Report mẫu không sắp xếp dữ liệu theo trường
nào nên bỏ qua bước này, nhấn Next để đi tiếp.
Bước 4: Chọn cấu trúc Report. Đối với loại Report không có phân nhóm,
ta có 03 dạng cấu trúc: Columnar, Tabular, Justified. Ở đây ta chọn Tabular.
Nhấn Next để đi tiếp.
Bước 5: Nhập tên Report–RpCau1. Nhấn Finish để kết thúc việc tạo
Report.
1.2. Chỉnh sửa Report: mở Report vừa tạo ra ở chế độ Design
Nguyên tắc làm việc với các điều khiển như trong Form. Nhập và chỉnh
sửa tiêu đề Report, chỉnh sửa phông chữ, màu chữ, căn lề, khoảng cách giữa các
điều khiển.
Tạo đường kẻ ngang dưới tên các trường: chọn công cụ có tên Line trong
menu Design của Report, kẻ một đường ngang dưới tên các trường.
Chú ý: để kẻ được một đường thẳng ngang, nhấn giữ phím Shift+vẽ đường.
Định dạng đường: chọn Tab Format\Shape Outline\Line Thickness (độ
dày của đường), Line Type (kiểu đường)-chọn màu cho đường trong bảng màu.
Câu 2: Các bước thực hiện tương tự như Câu 1, nhưng chọn bảng kho làm
nguồn và chọn cấu trúc Justified.
90
Câu 3:
3.1. Tạo report: chọn Tab Create\Report Wizard
Bước 1: chọn các trường đưa vào Report:
+ Chọn bảng nhập xuất kho làm nguồn: chọn các trường Loại hợp đồng, Ngày.
Sau đó tiếp tục chọn bảng Chi tiết nhập xuất làm nguồn: chọn các trường
Mã vật tư, Mã kho, Số lượng đưa vào Report. Nhấn Next để đi tiếp.
Bước 2: chọn các trường đưa vào Report:

- Xác định hiển thị dữ liệu theo bảng nào: chọn Chi tiết nhập xuất.
Nhấn Next để đi tiếp.
Bước 3: chọn trường phân nhóm
Chọn Loai (Loại hợp đồng), dùng mũi tên sang phải để phân nhóm trường.
Bước 4: sắp xếp dữ liệu
- Report mẫu không sắp xếp, bởi vậy bỏ qua bước này. Nhấn Next để đi tiếp.
Bước 5: Chọn cấu trúc Report
Chọn cấu trúc Stepped.

Nhấn Next để đi tiếp.


Bước 6: chọn cấu trúc Report. Chọn Stepped. Nhấn Next để đi tiếp.
Bước 7: nhập tên Report – RpCau3. Nhấn Finish để kết thúc.
3.2. Chỉnh sửa và thống kê dữ liệu theo nhóm:
+ Mở Report ở chế độ Design, thực hiện chỉnh sửa phần trình bày (tiêu
đề, ký tự, khoảng cách, xóa phần không cần thiết ở Page Footer …)

91
+ Thống kê dữ liệu theo nhóm:
Trong chế độ Design, kích phải chuột vào thanh tiêu đề của bất kỳ một
thành phần nào của Report – chọn Sorting and Grouping trong shortcut menu.
Trên thanh menu xuất hiện phía dưới màn hình, chọn With no total
Trong hộp Totals chọn:
Total On (trường tính toán theo nhóm): Số lượng
Type (hàm tính toán): Sum
Các lựa chọn hiển thị:
-Show Grand Total: hiển thị kết quả tính trên toàn bộ Report;
-Show group subtotal as % Grand Total: hiển thị kết quả tính của
dưới dạng % so với kết quả chung của cả report;
-Show subtotal in group header: hiển thị kết quả tính ở tiêu đề đầu của
mỗi nhóm;
-Show subtotal in group footer: hiển thị kết quả tính ở tiêu đề cuối của
mỗi nhóm;
Trong trường hợp này ta chọn lựa chọn cuối cùng, đóng hộp bằng nốt
Close bên phải cùng.
Công thức tính toán đã được đặt vào dưới mỗi nhóm – Loai Footer.
Trong menu Design của Report kích vào công cụ Label ( ), vẽ một hình chữ
nhật vào Loai Footer, nhập: “Tổng số lượng:”.
Để xuất hiện tên của nhóm loại hợp đồng sau nhãn này, copy điều khiển
Unbound của trường Loại hợp đồng nằm trong phần Loai Header, dán vào vào
phần Loai Footer, sau đó di chuyển để nó nằm cân đối vào giữa Label vừa đặt
vào và công thức.
Cũng có thể tạo công thức bằng cách đặt hộp Text Box: chọn công cụ
Text Box trong menu Design của Report, vẽ nó vào phần cần đặt công thức. Ở
hộp Text nhập văn bản tiêu đề của công thức, ở hộp Unbound đặt công thức:
= tên hàm ([tên trường tính toán]).
Câu 4: Thao tác tương tự như câu 3, chọn làm nguồn các bảng: kho, nhập
xuất kho và chi tiết nhập xuất. Chọn trường tên kho làm trường phân nhóm,
chọn cấu trúc Block. Tạo công thức thống kê dữ liệu = Sum([SoLuong]) vào
phần Footer của nhóm.
Câu 5:
Thao tác tương tự câu 3 và câu 4. Chọn bảng nhập xuất kho và qrCau4
làm nguồn. Chọn cả hai trường: ngày và loại hợp đồng làm trường phân nhóm.
Trong ô Unbound của trường ngày, thay tên trường bằng công thức:
= Month([Ngay]).
Đặt công thức tính tổng thành tiền của từng loại hợp đồng trong từng
tháng (=Sum([Thành tiền]) vào phần Loai Header.
92
CHƯƠNG VI. BÀI TẬP TỔNG HỢP
I. BÀI TẬP
Bài tập 1: CƠ SỞ DỮ LIỆU QUẢN LÝ TOUR DU LỊCH
Cho cơ sở dữ liệu Quản lý Tour du lịch (Dulich.accdb) gồm các bảng sau:
Bảng khách hàng:

Bảng danh sách Tour:

Bảng nhóm Tour:

Bảng đặt Tour:

93
Yêu cầu:
- Tạo cơ sở dữ liệu trên và đặt tên cơ sở dữ liệu là Dulich.accdb;
- Tạo cấu trúc các bảng, chọn kiểu dữ liệu và thuộc tính phù hợp cho các
trường, đặt thuộc tính cho các trường dưới đây theo yêu cầu sau:
+ Trường Mã tour: tối đa 5 ký tự, 1 ký tự đầu là chữ cái, 4 ký tự còn lại là số.
- Chọn khóa chính, tạo liên kết, nhập dữ liệu theo mẫu cho các bảng.
Sử dụng công cụ Query của MS Access để xây dựng các truy vấn sau
trong CSDL Quản lý Tour du lịch :
1. Tạo Query1 gồm Mã khách hàng, Tên khách hàng, Giới tính, Địa chỉ
để xem danh sách các khách hàng tên Minh ở Hà nội.
2. Tạo Query2 gồm Mã tour, Tên tour, Ngày khởi hành, Thời gian,
Phương tiện, Khách sạn, Giá tiền/1 người, Còn trống, để xem danh sách các tour
Đà Lạt và Nha Trang, khởi hành trong tháng 8 năm 2016.
3. Tạo Query3 gồm Mã tour, Tên tour, Ngày khởi hành, Thời gian,
Phương tiện, Khách sạn, Giá tiền/1 người, Còn trống, để xem danh sách các tour
đi bằng phương tiện Máy bay thời gian 3 ngày 2 đêm hoặc 4 ngày 3 đêm, Còn
trống từ 10-20 chỗ.
4. Tạo Query4 gồm Mã tour, Tên tour, Ngày khởi hành, Thời gian,
Phương tiện, Khách sạn, Giá tiền/1 người, Còn trống, Ghi chú. Lưu ý, với những
tour nước ngoài cần ghi chú “Visa” còn lại để trống.
5. Tạo Query5 gồm Mã khách hàng, Tên khách hàng, Địa chỉ, Điện thoại,
Mã tour, Mã nhóm tour, Tên tour, Ngày đặt, Ngày khởi hành, Giá tiền/1 người,
Số người, Tổng tiền, Khuyến mãi, Thực thu. Biết rằng:
Tổng tiền= Giá tiền/1 người*Số người
Khuyến mãi xét như sau: nếu số người lớn hơn hoặc bằng 10 thì giảm giá
10% của tổng tiền, nếu số người từ 5 đến 9 người thì giảm giá 5% của tổng tiền,
nếu số người nhỏ hơn 5 thì không Khuyến mãi .
Thực thu= Tổng tiền – Khuyến mãi
(Lưu ý: chỉ tính cho các Tour đi nước ngoài)
6. Tạo Query6 gồm Mã khách hàng, Tên khách hàng, Địa chỉ, Điện thoại,
Mã tour, Mã nhóm tour, Ngày đặt, Tên tour, Ngày khởi hành, Giá tiền/1 người,
Số người, Tổng tiền, Khuyến mãi, Thực thu chỉ hiển thị các tour sẽ đi trong 3
tháng gần nhất (tính theo ngày hiện tại và mỗi tháng tính 30 ngày).
7. Tạo Query7 thống kê số tour theo mỗi nhóm tour
8. Tạo Query8 thống kê số lần đặt, tổng Thực thu của mỗi khách hàng đặt
tour đi trong quý 2, quý 3 năm 2016.
9. Tạo Query9 thống kê số tour, tổng Thực thu theo từng tháng của mỗi
nhóm tour du lịch.

94
10. Tạo bảng mới tên Bang_LOAITHE, gồm Mã khách hàng, Tên khách
hàng, Giới tính, Địa chỉ, Điện thoại, Tổng tiền đặt tour, Loại thẻ. Biết Loại thẻ
của Khách hàng được xét như sau:
- Khách hàng mua với tổng tiền lớn hơn 50000000 và có tổng số người
lớn hơn 50 thì cập nhập Loại thẻ “Kim cương”
- Khách hàng mua với tổng tiền từ 30000000 đến 49000000 và có tổng
số người từ 30 đến 49 thì cập nhập Loại thẻ “Vàng”
- Khách hàng mua với tổng tiền từ 20000000 đến 29000000 và có tổng
số người từ 20 đến 29 thì cập nhập Loại thẻ “Bạc”
- Còn các trường hợp khác không cập nhật. Đặt tên truy vấn là Query10.
11. Tạo bảng mới tên Bangmoi1, gồm Mã tour, Mã nhóm tour, Tên nhóm
tour, Ngày khởi hành, Thời gian, Phương tiện, Khách sạn, Giá tiền/1 người, Còn
trống chỉ lấy các tour khởi hành từ ngày 6/1/2016 đến ngày 9/1/2016, Còn trống
lớn hơn 30 chỗ. Đặt tên truy vấn là Query11.
12. Tạo Query12, sử dụng Update query để tăng giá tiền/1 người thêm
10% đối với các tour đi bằng phương tiện Máy bay.
13. Tạo Query13, sử dụng Update query để thay tất cả các tour khởi hành
trong tháng 6 chuyển sang ngày 7/1/2016.
14. Dùng Delete query để xoá toàn bộ danh sách các tour đã khởi hành
tính theo thời điểm hiện tại. Đặt tên truy vấn là Query14.
15. Dùng Delete query để xoá toàn bộ danh sách các khách hàng chưa
từng đặt tour. Đặt tên truy vấn là Query15.
Hãy dùng công cụ Form của Access để tạo các mẫu biểu theo mẫu sau:
1. Tạo Form có tên FRcau1 theo mẫu sau:

2. Tạo Form có tên FRcau2 theo mẫu sau:

95
Hãy dùng công cụ Report của Access để tạo các báo cáo sau:

1. Tạo báo cáo có tên RPTCau1 thống kê danh sách khách hàng

2. Tạo báo cáo có tên RPTCau2, so sánh tổng tiền thu được giữa các nhóm tour

96
Bài tập 2: CƠ SỞ DỮ LIỆU QUẢN LÝ VẬT TƯ
Cho cơ sở dữ liệu quản lý bán hàng điện tử (QLVATTU.accdb) gồm các bảng sau:
Bảng Vật tư
Mã vật Hết
Tên vật tư Xuất xứ Đơn vị Giá nhập
tư hàng
GL091 Gạch lát BST Khải Ca Mỹ Đức Ceramic 6v/hộp 122000 True
GL608 Gạch lát sân vườn Viglacera m2 100000 False
GL902 Gạch lát nền Viglacera m2 112000 False
GO187 Gạch men Sunny Prime 6v/hộp 90000 True
GO407 Gạch men Sasulo Prime 6v/hộp 77000 False
GO551 Gạch ốp bếp Mỹ Đức Ceramic 4v/hộp 125000 False
GO603 Gạch men Duni Prime 6v/hộp 80000 True
GO703 Gạch men Martino Prime 6v/hộp 75000 False
GO704 Gạch men Martino Prime 6v/hộp 75000 False
XM001 Xi măng Bỉm Sơn Cty Xi măng Bỉm sơn tấn 1300000 False
XM002 Xi măng Hoàng Thạch Cty Xi măng Hoàng thạch tấn 1350000 False
XM003 Xi măng quốc phòng Cục CN BQP tấn 1400000 True

Bảng Chi tiết nhập xuất kho


Số hóa đơn Khách hàng Ngày Loại hợp đồng
00098 CTTNHH Vĩnh Đức 20/12/2012 Nhập
00099 CTTNHH Vĩnh Đức 20/12/2012 Nhập
00100 DN Việt Liên 22/12/2012 Xuất
00101 CTCP Cao Ốc 25/12/2012 Nhập
00102 Hạnh 25/12/2012 Xuất
00103 CTTNHH Vĩnh Đức 02/01/2013 Nhập
00104 Dũng 02/01/2013 Xuất
00105 Tuệ 03/01/2013 Xuất
00106 CTCP Cao Ốc 05/01/2013 Nhập
00107 Hà 10/01/2013 Xuất

Bảng Kho
Mã kho Tên kho Địa chỉ
01 Kho số 1 2, 22/7, Trần Khát Chân, Hai Bà Trưng, Hà Nội
02 Kho số 2 135 Hoàng Quốc Việt, Cầu Giấy, Hà Nội
03 Kho số 3 98 Thái Thịnh, Đống Đa, Hà Nội
04 Kho số 4 5, Nguyễn Văn Linh, Long Biên, Hà Nội
05 Kho số 5 62, Đại Mỗ, Mễ Trì, Hà Nội

97
Bảng chi tiết nhập xuất
Số hóa đơn Mã vật tư Mã kho Số lượng
00099 GL902 02 100
00099 XM001 02 100
00100 GL091 01 50
00100 GO551 01 150
00101 GO187 03 20
00102 XM002 05 60
00103 GO703 03 20
00104 GL091 02 150
00104 GO704 02 19
00105 GO603 04 100
00106 GO551 04 250
00107 XM002 04 90
Yêu cầu:
- Tạo cơ sở dữ liệu trên và đặt tên cơ sở dữ liệu là QLVATTU.accdb;
- Tạo cấu trúc các bảng, chọn kiểu dữ liệu và thuộc tính phù hợp cho các
trường, đặt thuộc tính cho các trường dưới đây theo yêu cầu sau:
+ Trường Mã vật tư: tối đa 5 ký tự, 2 ký tự đầu là chữ cái, 3 ký tự còn lại
là số.
+ Trường Ngày: chỉ bao gồm các vật tư nhập trong năm 2012 và 2013
- Chọn khóa chính, tạo liên kết, nhập dữ liệu theo mẫu cho các bảng.
Sử dụng công cụ query của MS Access để xây dựng các truy vấn sau
trong CSDL Quản lý Vật tư:
1. Tạo truy vấn để lấy các thông tin về tình hình nhập và xuất vật tư ở tất
cả các kho của công ty, gồm các trường : Mã vật tư, Mã kho, Số hóa đơn, Ngày ,
Số lượng. Đặt tên truy vấn là Qrcau1.
2. Tạo truy vấn lấy danh sách vật tư nhập vào các kho “01”, “02”, “03” và
“04” trong tháng 1 năm 2013, gồm các trường Mã kho, Mã vật tư, Số hóa đơn,
Giá nhập, Số lượng (Lưu ý chỉ lấy các hóa đơn nhập). Đặt tên truy vấn là
Qrcau2.
3. Tạo truy vấn lấy ra thông tin xuất kho của các kho “01”, “02” và “03”
trong tháng 12 năm 2012, gồm các trường : Mã kho, Mã vật tư, Số hóa đơn, Số
lượng (Lưu ý chỉ lấy các hóa đơn xuất). Đặt tên truy vấn là Qrcau3.

98
4. Tạo truy vấn lấy thông tin chi tiết thanh toán của các hóa đơn nhập và
xuất vật tư, gồm các trường: Số hóa đơn, Mã vật tư, Mã kho, Khách hàng, Số
lượng, Giá, Khuyến mãi, Thành tiền.
Trong đó
Giá = Giá nhập nếu là hóa đơn nhập;
Giá = Giá nhập + 10% Giá nhập nếu là hóa đơn xuất
Khuyến mãi: Vật tư nhập trong tháng 12 được khuyến mãi 2% giá nhập còn
lại không khuyến mãi.
Thành tiền = Số lượng* Giá – Khuyến mãi
Đặt tên truy vấn là Qrcau4.

5. Tạo truy vấn lấy danh sách nhập Gạch men, Gạch lát của Viglacera và
Prime gồm các trường: Mã vật tư, Tên vật tư, Xuất xứ, Đơn vị, Giá nhập, Hết
hàng, Khuyến mãi, Thành tiền. Đặt tên truy vấn là Qrcau5.
6. Tạo truy vấn lấy danh sách xi măng xuất sau ngày 15 hàng tháng gồm
các trường : Mã vật tư, Tên vật tư, Xuất xứ, Số hóa đơn, Ngày, Loại hợp đồng,
Số lượng, Thành tiền. Đặt tên truy vấn là Qrcau6.
7. Tạo truy vấn thống kê tổng số lượng vật tư, thành tiền của từng hóa
đơn. Đặt tên truy vấn là Qrcau7.
8. Tạo truy vần thống kê tổng số lượng vật tư nhập của từng kho. Đặt tên
truy vấn là Qrcau8.
9. Tạo truy vấn thống kê tổng số tiền , số tiền lớn nhất, nhỏ nhất thanh
toán theo từng tháng. Đặt tên truy vấn là Qrcau9.
10. Tạo truy vấn thống kê số lượng vật tư nhập xuất theo từng tháng. Đặt
tên truy vấn là QrCau10.
11. Tạo truy vấn thống kê số lượng trung bình vật tư nhập xuất theo từng
kho.Đặt tên truy vấn là Qrcau11.
12. Tạo truy vấn thống kê tổng số vật tư, số vật tư nhập, số vật tư xuất
theo từng năm. Đặt tên truy vấn là Qrcau12.
13. Tạo truy vấn tính tổng tiền thanh toán, tổng tiền nhập, tổng tiền xuất
theo từng kho. Đặt tên truy vấn là Qrcau13.
14. Sử dụng Query để điều chỉnh cột Giá nhập trong bảng Vật tư: giá vật
tư trong năm 2013 tăng 5% so với giá cũ. Đặt tên truy vấn là Qrcau14.

99
15. Thêm cột ghi chú vào cuối bảng Vật tư, dùng Query để điền vào cột
theo nguyên tắc: Nếu vật tư đã hết hàng thì điền “ không xuất kho” còn lại bỏ
trống. Đặt tên truy vấn là Qrcau15
16. Tạo bảng mới với tên VTnhap lấy ra các hóa đơn nhập kho gồm các
trường : Số hóa đơn, Mã vật tư, Mã kho, Ngày , Loại, Số lượng , Thành tiền. Đặt
tên truy vấn là Qrcau16.
17. Tạo bảng mới với tên VTxuat lấy ra các hóa đơn xuất kho gồm các
trường : Số hóa đơn, Mã vật tư, Mã kho, Ngày , Loại, Số lượng , Thành tiền. Đặt
tên truy vấn là Qrcau17.
18. Dùng Query để xóa đi các bản ghi có số lượng <100 trong bảng
VTnhap vừa tạo ra. Đặt tên truy vấn là Qrcau18.
19. Dùng Query để xóa đi các bản ghi của kho số 01 và 04 trong bảng
VTxuat vừa tạo ra. Đặt tên truy vấn là Qrcau19.
20. Tạo một bảng KhoBoSung có cấu trúc như bảng Kho, sau đó nhập dữ
liệu như mẫu sau:

Mã kho Tên kho Địa chỉ


06 Kho số 6 234 Trần Duy Hưng- Hà nội
07 Kho số 7 45 Lê Lợi - Hải Phòng
Dùng Append Query để bổ sung dữ liệu từ bảng Khobosung vào bảng
Kho. Đặt tên truy vấn là Qrcau20.

Hãy dùng công cụ Form của Access để tạo các mẫu biểu như mẫu sau:
1. Tạo Form có tên là Frcau1 theo mẫu sau:

100
2. Tạo Form có tên là Frcau2 theo mẫu sau:

Hãy sử dụng công cụ Report của MS Access để tạo các bản báo cáo sau:
1. Tạo report có tên là Rptcau1 theo mẫu sau:

2.Tạo report có tên là Rptcau2 theo mẫu sau:

101
II. CÁC ĐỀ THAM KHẢO
ĐỀ 1
Cho CSDL gồm các bảng sau:
Bảng PhongBan(Phòng ban):

Bảng ChucVu (Chức vụ):

Bảng NhanVien (Nhân viên):

Câu 1: Anh chị hãy sử dụng HQTCSDL Access để tạo cơ sở dữ liệu trên và
đặt tên cơ sở dữ liệu là QLCanBo; chọn kiểu dữ liệu và thuộc tính phù hợp cho
các trường, tạo liên kết giữa các bảng.
Câu 2: Tạo các câu truy vấn (Query) để:
1. Hiển thị danh sách các nhân viên Nam là trưởng phòng và sinh sau năm
1972, bao gồm các trường Họ và tên, Ngày sinh, Giới tính, Tên phòng ban, Tên
Chức vụ, Hệ số chức vụ, Hệ số lương, Ngày công. Đặt tên truy vấn là QrCau1.
2. Tính tiền Lương, Thưởng, Thu nhập cho tất cả các nhân viên. Yêu cầu
hiển thị đầy đủ các trường: Mã NV, Họ và tên, Giới tính, Tên phòng ban, Tên
chức vụ, Hệ số lương, Hệ số chức vụ, Lương, Thưởng, Thu nhập, biết rằng:
Lương = 1150000*(Hệ số lương+ Hệ số chức vụ)
Thưởng=1000000, nếu Số ngày công>=30; Thưởng=750000, nếu Số ngày
công>=26, còn lại Thưởng=0.
Thu nhập= Lương + Thưởng
Đặt tên truy vấn là QrCau2.

102
3. Thống kê Thu nhập trung bình của từng Phòng ban theo Chức vụ (Tên
chức vụ) . Đặt tên truy vấn là QrCau3.
4. Tạo bảng mới có tên CANBO chỉ bao gồm trưởng phó phòng. Yêu cầu
hiển thị đầy đủ các trường: Mã NV, Họ và tên, Giới tính, Tên phòng ban, Tên
chức vụ, Hệ số lương, Hệ số chức vụ, Lương, Thưởng, Thu nhập. Đặt tên truy
vấn là QrCau4.

Câu 3: Tạo Form nhập dữ liệu theo mẫu sau:

Câu 4: Hãy sử dụng công cụ Report để tạo bản in theo mẫu sau:

103
ĐỀ 2
Cho CSDL gồm các bảng sau:
Bảng phòng ban: Bảng chức vụ:

Bảng cán bộ:

Câu 1: Anh chị hãy sử dụng HQTCSDL Access để tạo cơ sở dữ liệu trên và
đặt tên cơ sở dữ liệu là QLNhanSu; chọn kiểu dữ liệu và thuộc tính phù hợp cho
các trường, tạo liên kết giữa các bảng.
Câu 2: Anh chị hãy sử dụng truy vấn để thực hiện các yêu cầu sau đây:
1. Tính lương cho cán bộ, bao gồm các trường: Mã cán bộ, Họ tên, Ngày
sinh, Giới tính, Mã phòng, Lương, Phụ cấp chức vụ, Thâm niên, Thu nhập.
Trong đó:
Lương = 1150000* Hệ số lương;
Phụ cấp chức vụ = 1150000*Hệ số chức vụ;
Thâm niên=12%*Lương, nếu số năm công tác >=25; Thâm
niên=10%*Lương, nếu số năm công tác >=20; Thâm niên=8%*Lương, nếu số năm
công tác >=15; Thâm niên= 5%*Lương, nếu số năm công tác >=10; Thâm
niên=3%*Lương, nếu số năm công tác >=5; còn lại Thâm niên=0. Biết rằng:Số năm
công tác=Năm hiện tại-Năm vào nghành.
Thu nhập = Lương+Phụ cấp chức vụ+Thâm niên.
Đặt tên truy vấn là QrCau1.
2. Lập danh sách cán bộ phòng Tài vụ và phòng Tổ chức, vào ngành trước
năm 2000. Yêu cầu hiển thị các trường sau: Mã cán bộ, Ngày sinh, Giới tính,
Tên phòng, Hệ số lương, Hệ số phụ cấp, Ngày vào. Đặt tên truy vấn là QrCau2.
3. Tính tổng số cán bộ theo từng nhóm giới tính của từng phòng. Đặt tên
truy vấn là QrCau3.

104
4. Hãy sử dụng query để tạo bảng mới có tên DSCanBoNu, lấy thông tin
về cán bộ nữ, bao gồm các trường như trong bảng Cán bộ. Đặt tên truy vấn là
QrCau4.
Câu 3: Hãy sử dụng kỹ thuật tạo Form để tạo Form như mẫu sau:

Câu 4: Hãy sử dụng công cụ Report để tạo bản in theo mẫu sau:

105
ĐỀ 3

Cho cơ sở dữ liệu bao gồm các bảng sau:


Bảng Phong (Phòng): Bảng Khach (Khách):

Bảng Thuephong (Thuê phòng):

Câu 1: Anh chị hãy sử dụng HQTCSDL Access để tạo cơ sở dữ liệu trên
và đặt tên cơ sở dữ liệu là QLKhachSan; chọn kiểu dữ liệu và thuộc tính phù
hợp cho các trường, tạo liên kết giữa các bảng.
Câu 2: Anh chị hãy sử dụng truy vấn để thực hiện các yêu cầu sau đây:
1. Hiển thị thông tin về các khách thuê phòng có ngày đi trong tháng 4,
Loại phòng là “Phòng đôi C”, có địa chỉ ở “Hà Nam” hoặc “Hà Nội”, bao gồm
các trường sau: Họ tên khách, Địa chỉ, Ngày đến, Ngày đi, Loại phòng, Đơn giá.
Đặt tên truy vấn là QrCau1.
2. Lập danh sách chi tiết thuê phòng gồm các trường sau: Mã phòng, Họ
tên khách, Loại phòng, Ngày đến, Ngày đi, Số ngày ở, Tiền phòng, Tiền phục
vụ, Tiền thanh toán. Trong đó:
Số ngày ở=Ngày đi-Ngày đến, nếu đến và đi trong cùng 1 ngày thì tính là 1 ngày.
Tiền phòng = Số ngày ở*Đơn giá.
Tiền phục vụ = 800000, nếu Số ngày ở >30; Tiền phục vụ = 400000, nếu
Số ngày ở >=15; còn lại Tiền phục vụ = 150000.
Tiền thanh toán = Tiền phòng + Tiền phục vụ
Đặt tên truy vấn là QrCau2.
3. Tính tổng tiền thanh toán theo từng khách của từng loại phòng. Đặt tên
truy vấn là QrCau3.
4. Tạo bảng mới có tên Thang4 bao gồm các khách đi trong tháng 4. Yêu
cầu hiển thị các trường sau: Mã phòng, Họ tên khách, Loại phòng, Ngày đến,
Ngày đi, Số ngày ở, Tiền phòng, Tiền phục vụ, Tiền thanh toán.Đặt tên truy vấn
là QrCau4.

106
Câu 3: Hãy sử dụng kỹ thuật tạo Form để tạo Form như mẫu sau:

Câu 4: Hãy sử dụng công cụ Report để tạo bản in theo mẫu sau:

107
ĐỀ 4
Cho CSDL gồm các bảng sau:
Bảng khách:

Bảng phòng:

Bảng thuê phòng:

Câu 1: Anh chị hãy sử dụng HQTCSDL Access để tạo cơ sở dữ liệu trên và
đặt tên cơ sở dữ liệu là QLKhachSan; chọn kiểu dữ liệu và thuộc tính phù hợp
cho các trường, tạo liên kết giữa các bảng.
Câu 2: Anh chị hãy sử dụng truy vấn để thực hiện các yêu cầu sau đây:
1. Tính tiền thuê phòng của khách, bao gồm các trường sau: Số hóa đơn,
Tên khách, Loại phòng, Ngày đến, Ngày đi, Số ngày ở, Tiền phòng, Tiền dịch
vụ, Tiền thanh toán, biết rằng:
Số ngày ở=Ngày đi-Ngày đến (nếu khách đi trong ngày tính là 1 ngày);
Tiền phòng= Số ngày ở*Đơn giá, biết rằng nếu khách đến trong khoảng từ
24/12 đến 31/12 thì giá phòng tăng 3%.
Đặt tên truy vấn là Qrcau1.
2. Lấy danh sách khách hàng đến trong tháng 10 năm 2012 và thuê phòng
đôi, yêu cầu hiển thị các trường: Số hóa đơn, Mã khách, Mã phòng, Loại phòng,
Ngày đến, Ngày đi. Đặt tên truy vấn là Qrcau2.
3. Tính tổng tiền thanh toán của mỗi loại phòng trong từng tháng (tính
theo ngày đi) số lượt thuê của mỗi loại phòng. Đặt tên truy vấn là Qrcau3.
4. Tạo bảng mới để lấy danh sách thuê các phòng Đơn A, Đơn B và Đôi
C. Lấy các trường như bảng thuê phòng. Đặt tên bảng là BangMoi; đặt tên truy
vấn là Qrcau4.

108
Câu 3: Hãy sử dụng kỹ thuật tạo Form để tạo Form như mẫu sau:

Câu 4: Hãy sử dụng công cụ Report để tạo bản in theo mẫu sau:

109
ĐỀ 5
Cho CSDL gồm các bảng sau:
Bảng Docgia (Độc giả):

Bảng Sach (Sách):

Bảng PhieuMuon (Phiếu mượn):

Câu 1: Anh chị hãy sử dụng HQTCSDL Access để tạo cơ sở dữ liệu trên
và đặt tên cơ sở dữ liệu là QLSach; chọn kiểu dữ liệu và thuộc tính phù hợp
cho các trường, tạo liên kết giữa các bảng.
Câu 2: Tạo các câu truy vấn (Query) để:
1. Hiển thị danh sách các phiếu mượn của sinh viên khoa “Kế toán” hoặc
“Bảo hiểm”, có ngày trả trước tháng 6, bao gồm các trường: Phiếu mượn, Mã
sách, Mã thẻ, Tên độc giả, Lớp, Khoa, Ngày mượn, Ngày trả. Đặt tên truy vấn
là Qrcau1.
2. Tính Số ngày mượn, Số ngày quá hạn và Tiền phạt cho tất cả các sinh
viên. Yêu cầu hiển thị đầy đủ các trường: Tên độc giả, Lớp, Phiếu mượn, Tên
sách, Ngày mượn, Ngày trả, Số ngày mượn, Số ngày quá hạn,Tiền phạt, biết rằng:
Số ngày mượn=Ngày trả-Ngày mượn,
Hạn mượn tối đa đối với mỗi cuốn sách là 15 ngày. Từ đó suy ra số ngày
quá hạn.
Tiền phạt là 15000 nếu Số ngày quá hạn>30; Tiền phạt là 10000, nếu Số
ngày quá hạn>0, còn lại thì Tiền phạt là 0.
Đặt tên truy vấn là Qrcau2.

110
3. Tính tổng số lượng sách của từng Nhà xuất bản theo Mã sách. Đặt tên
truy vấn là Qrcau3.
4. Tạo bảng mới để lấy danh sách sinh viên khoa Bảo hiểm mượn quá
hạn. Đặt tên bảng là BangMoi; đặt tên truy vấn là Qrcau4.

Câu 3: Tạo Form nhập dữ liệu theo mẫu sau:

Câu 4: Hãy sử dụng công cụ Report để tạo bản in theo mẫu sau:

111
ĐỀ 6
Cho CSDL gồm các bảng sau:
Bảng DAILY (Đại lý):

Bảng LOAITHUOC (Loại thuốc):

Bảng BANHANG (Bán hàng):

Câu 1: Anh chị hãy sử dụng HQTCSDL Access để tạo cơ sở dữ liệu trên
và đặt tên cơ sở dữ liệu là QLHang; chọn kiểu dữ liệu và thuộc tính phù hợp cho
các trường, tạo liên kết giữa các bảng.
Câu 2: Tạo các câu truy vấn (Query) để:
1. Hiển thị các hoá đơn bán hàng của nhà thuốc Hải Yến có số lượng bán
lớn hơn 150, bán trong năm 2013, bao gồm các trường: Mã hoá đơn, Tên nhân
viên, Ngày bán, Tên thuốc, Tên đại lý, Số lượng bán. Đặt tên truy vấn là
Qrcau1.
2. Tính tiền bán hàng của tất cả các nhân viên, bao gồm các trường: Tên
nhân viên, Ngày bán, Tên thuốc, Tên đại lý, Số lượng bán, Giá bán, Thành tiền,
Khuyến mại, Thực thu biết rằng:
Thành tiền= Số lượng*Giá bán, biết rằng Giá bán=1.3*Giá nhập
Khuyến mại= 10%Thành tiền, nếu Số lượng bán>=300, Khuyến mại=
5%Thành tiền, nếu Số lượng bán>=250, còn lại thì Khuyến mại=0.
Thực thu=Thành tiền - Khuyến mại
Đặt tên truy vấn là Qrcau2.
3. Tính tổng tiền thực thu theo từng năm của từng nhân viên. Đặt tên truy
vấn là Qrcau3.

112
4. Tạo bảng mới có tên THUOC bao gồm các khách hàng mua năm 2012 của
nhà thuốc Hương Trà. Đặt tên truy vấn là Qrcau4.
Câu 3: Tạo Form nhập dữ liệu theo mẫu sau:

Câu 4: Hãy sử dụng công cụ Report để tạo bản in theo mẫu sau:

113
ĐỀ 7
Cho CSDL gồm các bảng sau:
Hãng hàng không:

Phòng vé: Chặng bay:

Bán vé:

Câu 1: Anh chị hãy sử dụng HQTCSDL Access để tạo cơ sở dữ liệu trên và
đặt tên cơ sở dữ liệu là QLBanVe; chọn kiểu dữ liệu và thuộc tính phù hợp cho các
trường, tạo liên kết giữa các bảng.
Câu 2: Anh chị hãy sử dụng truy vấn để thực hiện các yêu cầu sau đây:
1. Lập danh sách tính tiền bán vé, bao gồm các trường sau: Số hóa đơn,
Mã phòng vé, Ngày bay, Số lượng vé, Giá vé, Tên giao dịch, Tên chặng bay,
Khứ hồi, Tiền vé, Hoa hồng.
Trong đó: Tiền vé = Số lượng vé*Giá vé, biết rằng vé khứ hồi của VietJet
và Jestar Pacific giảm 5% so với Giá vé.
Hoa hồng = 1% Tiền vé. Đặt tên truy vấn là QrCau1.
2. Liệt kê danh sách Bán vé (lấy các trường như trong bảng “Bán vé”), chỉ
lấy các bản ghi đáp ứng đủ các điều kiện sau: số lượng vé không nhỏ hơn 10,
của Jetstar Pacific hoặc Vietnam Airline, bay chặng Tp. Hồ Chí Minh – Hà Nội
hoặc Tp. Hồ Chí Minh – Moscow và không có chiều khứ hồi. Đặt tên truy vấn là
QrCau2.
3. Tính tổng số vé bán của mỗi phòng vé theo từng chặng bay. Đặt tên
truy vấn là QrCau3.
114
4. Tạo bảng mới chứa danh sách bán vé các chặng khởi hành từ Tp. Hồ
Chí Minh, lấy các trường như trong bảng Bán vé. Đặt tên bảng là BangMoi; Đặt
tên truy vấn là QrCau4.

Câu 3: Hãy sử dụng kỹ thuật tạo Form để tạo Form như mẫu sau:

Câu 4: Hãy sử dụng công cụ Report để tạo bản in sau:

115
ĐỀ 8
Cho CSDL gồm các bảng sau:

Bảng Loaihinhsudung_Dongia(Loại hình sử dụng_Đơn giá):

Bảng Khachhang (Khách hàng):

Bảng Dientieuthu (Điện tiêu thụ):

Câu 1: Anh chị hãy sử dụng HQTCSDL Access để tạo cơ sở dữ liệu trên
và đặt tên cơ sở dữ liệu là QLDien; chọn kiểu dữ liệu và thuộc tính phù hợp cho
các trường, tạo liên kết giữa các bảng.
Câu 2: Tạo các câu truy vấn (Query) để:
1. Hiển thị danh sách các khách hàng có họ “Vũ” hoặc họ “Lê”, có Ngày đầu kỳ
là ngày 20 hàng tháng, bao gồm các trường Tên khách hàng, Địa chỉ, Loại hình
sử dụng, Mã công tơ, Chỉ số đầu kỳ, Chỉ số cuối kỳ. Đặt tên truy vấn là QrCau1.
2. Tính tiền điện cho tất cả các khách hàng. Yêu cầu hiển thị đầy đủ các trường:
Tên khách hàng, Địa chỉ, Loại hình sử dụng, Mã công tơ, Chỉ số đầu kỳ, Chỉ số
cuối kỳ, Số điện tiêu thụ, Tiền chưa thuế, Thực trả, biết rằng:
Số điện tiêu thụ=Chỉ số cuối kỳ - Chỉ số đầu kỳ
Tiền chưa thuế=Số điện tiêu thụ*Đơn giá, biết rằng 100 số đầu được tính
theo Đơn giá thông thường, các số tiếp theo thì Đơn giá tăng thêm 700đồng/1số
Thực trả = Tiền chưa thuế+Thuế VAT, biết rằng Thuế VAT=10%Tiền
chưa thuế
116
Đặt tên truy vấn là QrCau2.
3. Thống kê tổng tiền thực trả của từng khách hàng theo từng loại hình sử dụng.
Đặt tên truy vấn là QrCau3.
4. Tạo bảng mới lấy tên là BangVuot để lấy danh sách các các hộ Kinh doanh,
Sinh hoạt tiêu thụ trên 200 số điện. Đặt tên truy vấn là QrCau4.

Câu 3: Tạo Form nhập dữ liệu theo mẫu sau:

Câu 4: Hãy sử dụng công cụ Report để tạo bản in theo mẫu sau:

117
ĐỀ 9
Cho CSDL gồm các bảng sau:
Bảng Tuyenxechay(Tuyến xe chạy):

Bảng Loaixe (Loại xe):

Bảng Hoadonvexe (Bảng Hoá đơn vé xe):

Câu 1: Anh chị hãy sử dụng HQTCSDL Access để tạo cơ sở dữ liệu trên
và đặt tên cơ sở dữ liệu là QLVanTai; chọn kiểu dữ liệu và thuộc tính phù hợp
cho các trường, tạo liên kết giữa các bảng.
Câu 2: Tạo các câu truy vấn (Query) để:
1. Hiển thị danh sách các hóa đơn có ngày khởi hành trong tháng 5, có số chỗ ngồi
là 36, mua “Ghế VIP” hoặc “Giường mềm”, bao gồm các trường Mã hóa đơn, Mã
xe, Số chỗ ngồi, Mã tuyến, Tên tuyến, Ngày khởi hành, Hạng vé, Số lượng vé, Giá
1 vé . Đặt tên truy vấn là QrCau1.
2. Tính tiền vé thu được, bao gồm các trường: Mã hóa đơn, Mã xe, Tên tuyến,
Ngày khởi hành, Hạng vé, Số lượng vé, Giá 1 vé, Tiền vé, Khuyến mại, Thực
thu, biết rằng:
Tiền vé= Số lượng vé*Giá 1 vé, biết rằng các hóa đơn mua vé có ngày khởi
hành trong tháng 5 thì Giá 1 vé sẽ tăng thêm 15000, các hóa đơn còn lại thì Giá 1 vé
vẫn giữ nguyên.
Khuyến mại =5%Tiền vé, nếu mua số lượng vé>=40; Khuyến
mại=3%Tiền vé nếu mua số lượng vé >=30, còn lại Khuyến mại=0.
Thực thu=Tiền vé - Khuyến mại
Đặt tên truy vấn là QrCau2.
118
3. Thống kê tổng số tiền Thực thu trong từng tháng của mỗi Hạng vé, tổng
số vé bán được trong từng tháng. Đặt tên truy vấn là QrCau3.
4. Tạo bảng mới với tên là BangMoi, chứa dữ liệu về các Hóa đơn vé xe có
Hạng vé là “Ghế ngồi mềm” và Mã tuyến là “HN-QN”, bao gồm các trường Mã
hóa đơn, Mã xe, Mã tuyến, Tên lái xe, Số chỗ ngồi, Ngày khởi hành, Hạng vé,
Số lượng vé. Đặt tên truy vấn là QrCau4.
Câu 3: Tạo Form nhập dữ liệu theo mẫu sau:

Câu 4: Hãy sử dụng công cụ Report để tạo bản in theo mẫu sau:

119
ĐỀ 10

Cho CSDL gồm các bảng sau:


Bảng Hang (Hàng hóa): Bảng Khachhang (Khách hàng):

Bảng Hoadon (Hóa đơn):

Bảng Chitiethoadon (Chitiethoadon):

Câu 1: Anh chị hãy sử dụng HQTCSDL Access để tạo cơ sở dữ liệu trên
và đặt tên cơ sở dữ liệu là QLHoaDon; chọn kiểu dữ liệu và thuộc tính phù hợp
cho các trường, tạo liên kết giữa các bảng.
Câu 2: Tạo các câu truy vấn (Query) để:
1. Hiển thị danh sách các khách hàng mua hàng trong tháng 3, với số
lượng >=150, do Hưng bán, bao gồm các trường Mã hóa đơn, Tên khách hàng,
Ngày bán, Người bán, Tên hàng, Số lượng. Đặt tên truy vấn là QrCau1.
2. Tính tiền bán các mặt hàng, bao gồm các trường: Mã hóa đơn, Tên hàng,
Tên khách hàng, Ngày bán, Người bán, Số lượng, Thành tiền, Khuyến mại,
Thực thu, biết rằng:
Thành tiền=Số lượng*Giá bán, biết Giá bán=1.3*Giá nhập
Khuyến mại=5%Thành tiền, nếu mua hàng với Số lượng>=150, Khuyến
mại=3%Thành tiền, nếu mua hàng với Số lượng>=120, còn lại thì Khuyến mại =0.
Thực thu=Thành tiền – Khuyến mại
120
Đặt tên truy vấn là QrCau2.
3. Thống kê số lượng bán trung bình trong từng tháng của mỗi mặt hàng
(theo Tên hàng). Đặt tên truy vấn là QrCau3.
4. Hãy sử dụng query để tạo bảng mới có tên HDHung, lấy thông tin về
các hóa đơn do Hưng bán có thực thu từ 50 triệu trở lên. Đặt tên truy vấn là
QrCau4.
Câu 3: Tạo Form nhập dữ liệu theo mẫu sau:

Câu 4: Hãy sử dụng công cụ Report để tạo bản in theo mẫu sau:

121

You might also like