Tải bản đầy đủ (.doc) (26 trang)

Giáo trình thực hành Access cơ bản

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (869.42 KB, 26 trang )

Phần I CƠ SỞ DỮ LIỆU VÀ TABLE
BÀI 1: Cơ Sở Dữ Liệu QUẢN LÝ SINH VIÊN
Tạo file access lưu vào ổ đĩa D với tên QuanLySinhVien.mdb
Một trường đại học quản lý việc đăng ký môn học và điểm của sinh viên. Để thực hiện công
việc quản lý Sinh Viên thuận lợi bằng máy tính, cơ sở dữ liệu gồm các bảng và những thuộc
tính được tạo ra như sau:
1. Bảng KHOA chứa các thông tin về khoa của trường ĐH gồm: Mã Khoa (MaKhoa). Tên
Khoa (TenKhoa). những khoa khác nhau sẽ có MaKhoa khác nhau, mỗi khoa có nhiều Sinh
Viên theo học. Bảng KHOA này có cấu trúc cụ thể như sau: {Trong đó MaKhoa làm khoá
chính}
Field Name
{Tên Trường}
Data Type
{Kiểu Dữ Liệu}
Field size
{Kích Thước Của
Trường}
Caption
{Hiển Thị}
Description
{Mô Tả}
MaKhoa Text 5 Mã Khoa Mã Khoa
TenKhoa Text 30 T ên Khoa Tên Của Khoa
2. Bảng SINHVIEN chứa thông tin về sinh viên. Mỗi SV gồm những thông tin: Mã số SV
(MSSV), Mã Khoa (MaKhoa), Họ của SV (HoSV), Tên SV (TeSV), Phái (Phai), Ngày sinh
(NgaySinh), Đối tượng (DoiTuong), Đoàn viên (DoanVien), Nguyên Quán (NguyenQuan), Số
điện thoại (SoDT) và hình của SV (Hinh).
 Chú ý: Mỗi SV thuộc một khoa duy nhất, nên bảng này có thuộc tính (MaKhoa) tương
tự như ở bảng KHOA. Các SV khác nhau thì có mã số SV khác nhau. {Bảng này trường
MSSV làm khoá chính}
Field Name


{Tên Trường}
Data Type
{Kiểu Dữ Liệu}
Field
size
{Kích
Thước Của
Trường}
Format
{Định dạng}
Caption
{Hiển Thị}
Description
{Mô Tả}
MSSV Text 9
Mã Số SV Mã số của SV
MaKhoa Text 5
Mã Khoa Mã khoa
HoSV Text 25
Họ Sinh Viên Họ sinh viên
TenSV Text 10
Tên Sinh Viên Tên sinh viên
Phai Yes/No
;“Nam”;“Nữ”
Phái Phái
NgaySinh Date/Time
dd/mm/yyyy
Ngày Sinh Ngày sinh
DoiTuong
Number

Byte
Đối Tượng Đối tượng
DoanVien Yes/No
;“Có”;“Không”
Đoàn Viên Đoàn viên
NguyenQuan Text 40
Nguyên Quán Nguyên quán
SoDT Te xt 12
Số Điện Thoại Số Điện Thoại
DiaChi Text 100
Địa Chỉ Địa Chỉ
Hinh Ole Object
Hình Hình của SV
3. Bảng MONHOC các thông tin về những môn học. mỗi môn học gồm các thuộc tính: Mã
môn học (MaMH), Tên môn học (TenMH), Số tín chỉ (SoTC) {Bảng MONHOC này trường
MaMH làm khoá chính}
Field Name
{Tên Trường}
Data Type
{Kiểu Dữ Liệu}
Field
size
{Kích
Thước}
Format
{Định
dạng}
Caption
{Hiển Thị}
Description

{Mô Tả}
MaMH Text 5 Mã Môn Học Mã số của môn học
TenMH Text 40 Tên Môn Học Tên của môn học
SoTC Number Byte Số Tín Chỉ Số tín chỉ
4. Bảng DANGKY được hình thành trên cơ sở mối quan hệ mỗi SV có thể đăng ký nhiều
môn học, đồng thời mỗi môn học một SV có thể được đăng ký nhiều lần (trong trường hợp
chưa đạt)
 {Bảng DANGKY này các trường MSSV, MaMH, NgayDK làm khoá chính}
Field Name Data Type Field size Format Caption Description
Trang 1
{Tên Trường} {Kiểu DL} {Định dạng} {Hiển Thị} {Mô Tả}
MSSV Text 9
Mã Số Sinh Viên Mã số của SV
MaMH Text 5
Mã Môn Học Mã số môn học
NgayDK Date/time dd/mm/yyyy
Ngày đăng ký Ngày đăng ký
Diem Number Double
Điểm Điểm
Yêu Cầu:
 *Tìm hiểu CSDL.
 Thiết kế tạo các bảng cho cơ
sở dữ liệu Quan_Ly_Sinh_Vien.
 *Tìm hiểu các thuộc tính
khóa chính: Vai trò của khóa
chính? Một bảng có thể có?
Không? hoặc nhiều khoá chính?
 Thiết lập đặc tính Indexed:
{No. Yes (No Duplicates). Yes
( Duplicates OK)} cho các field

được làm khoá chính.
 Thiết lập RelationShip (tạo
mối quan hệ) giữa các bảng
trong CSDL. Ràng buộc chặt
chẽ, cập nhật, chỉnh sửa thay đổi hoặc xoá bên 1 thì bên nhiều được cập nhật, chỉnh sửa
thay đổi hoặc xóa theo? (cập nhật, chỉnh sửa, xóa liên cấp)
 Tạo các Field phụ thuộc ({Mã} bên
nhiều) nhận DL từ bên 1 và hiển thị thêm
cột thứ hai với tên của các đối tượng đó
(mục đích cột thứ 2 có tính chất giải thích).
 Nhập dữ liệu cho các bảng theo đúng
quy trình.
Trang 2
Bài 2: Quản Lý Bán Hàng
Công ty kinh doanh bán hàng. Với hình thức mua (nhập) hàng về cần biết các thông
tin hàng như sau: Những thông tin về mặt hàng. Những mặt hàng này được nhập ở đâu
(nhà cung cấp), hàng nhập về được lưu trữ ở kho nào? ngày nhập? …
Khi bán ra cần biết : Bán cho ai? (khách hàng), ngày bán? Và thông tin về những mặt
hàng? …
Từ đó CSDL QuanLyBanHang (quản lý bán hàng) được xây dựng như sau.
1. Bảng DOITAC gồm những thông tin về nhà cung cấp và khách hàng.
Field Name
{Tên Trường}
Data Type
{Kiểu Dữ Liệu}
Field size
{Kích Thước}
Format
{Định dạng}
Caption

{Hiển Thị}
Description
{Mô Tả}
MaDoiTac Text 9 Mã đối tác Mã đối tác
TenDT Text 30 Tên đối tác Tên đối tác
NgaySinh Date/time dd/mm/yyyy Ngày sinh Ngày sinh
Phai Yes/No ;“Nam”;”Nữ” Phái Phái
DiaChi Text 40 Địa Chỉ Địa chỉ
DienThoai Text 12
Điện Thoại
Số điện thoại
GhiChu Text 50 Ghi Chú Ghi chú
2. Bảng MATHANG chứa những thông tin về mặt hàng. Mỗi nhóm hàng chứa nhiều mặt
hàng khác nhau.
Field Name
{Tên Trường}
Data Type
Field
size
Format
{Định dạng}
Caption
{Hiển Thị}
Description
{Mô Tả}
MaHang Text 9
Mã Mặt Hàng Mã mặt hang
TenHang Text 30
Tên Hàng Tên mặt hang
NgaySinh Date/time

dd/mm/yyyy
Ngày sinh Ngày sinh
DVT Text 5
Đơn Vị Tính Đơn vị tính
MaNhomHang Text 5
Mã Nhóm Hàng Mã nhóm hang
3. Bảng KHO chứa những thông tin về kho. Bảng có cấu trúc như sau:
Trang 3
Field Name
{Tên Trường}
Data
Type
Field
size
Format
{Định dạng}
Caption
{Hiển Thị}
Description
{Mô Tả}
MaKho Text 5 Mã Kho Mã Kho
TenKho Text 10 Tên Kho Tên Kho
DiaChi Text 40 Địa Chỉ Địa chỉ của kho
4. Bảng NHOMHANG gồm 2 thông tin về nhóm hàng: Mã nhóm hàng và tên nhóm hàng.
Field Name
{Tên Trường}
Data
Type
Field
size

Format
{Định dạng}
Caption
{Hiển Thị}
Description
{Mô Tả}
MaNhomHang Text 5 Mã Nhóm Hàng Mã nhóm hang
TenNhomHang Text 20 Tên Nhóm Hàng Tên nhóm hàng
5. Bảng HOADON chứa những thông tin về hóa đơn khi xuât - nhập hàng. mỗi hóa đơn
liên quan duy nhất một đối tác.
Field Name
{Tên Trường}
Data Type
Field
Size
Format
{Định dạng}
Caption
{Hiển Thị}
Description
{Mô Tả}
MaHoaDon Text 7
Mã Hoá Đơn Mã số hóa đơn
MaDoiTac Text 9
Mã Đối Tác Mã đối tác
LoaiHoaDon Text 3
Loại Hoá Đơn Loại hoá đơn
NgayHD
Date/time
dd/mm/yyyy

Ngày Hoá Đơn Ngày lập hoá đơn
6. Bảng CHITIET Một mặt hàng có thể được nhập xuất nhiều lần (nhiều hoá đơn nhập-
xuất), một hóa đơn có nhiều mặt hàng. Một kho có thể chứa nhiều mặt hàng, đồng thời một
mặt hàng có thể được chứa ở nhiều kho khác nhau. Vậy bảng CHITIET này sẽ được kết nối
trực tiếp giữa 3 bảng MATHANG, HOADON, KHO. Bảng CHITIET có cấu trúc như sau:
Field Name
{Tên Trường}
Data Type
{Kiểu Dữ Liệu}
Field size
{Kích Thước Của
Trường}
Format
{Định dạng}
Caption
{Hiển Thị}
Description
{Mô Tả}
MaHoaDon Text 7
Mã Hoá Đơn Mã số hóa đơn
MaHang Text 9
Mã Mặt Hàng Mã mặt hàng
MaKho Text 5
Mã Kho Mã kho
DonGia Currenncy
#,###“ đồng”
Đơn Giá Đơn giá
SoLuong Number LongInterger
Số Lượng Số lượng
Yêu Cầu: (Những câu đánh dấu *, **, *** đòi hỏi chúng ta tìm hiểu phân tích kỹ về phương thức quản lý).

 * Tìm hiểu CSDL.
 *** Dựa vào tính chất của khóa chính, hãy xác định (chọn) các thuộc tính khoá chính
của từng bảng?
Chú ý: Một Table có thể Có? Không? Có thể chỉ một? hoặc nhiều khóa chính?
 *** Tìm hiểu và phân tích vai trò cấu trúc của mỗi (cách) trường hợp đặt khóa chính
mà bạn đã đưa ra?
 Thiết kế tạo các bảng cho cơ sở dữ liệu QuanLyBanHang?
 Thiết lập đặc tính Indexed: {No. Yes(NoDuplicates). Yes(Duplicates OK)} cho các Field
được làm khoá chính, Field khóa ngoại (còn gọi là khóa phụ) và Field không khóa?
 Thiết lập RelationShip (tạo mối quan hệ) giữa các bảng trong CSDL. Ràng buộc chặt
chẽ, cập nhật, chỉnh sửa thay đổi hoặc xoá bên 1 thì bên nhiều được cập nhật, chỉnh sửa
thay đổi hoặc xoá theo? (cập nhật, chỉnh sửa, xóa liên cấp)
 Trong mỗi bảng tạo các Field phụ thuộc ({Mã} bên nhiều) nhận DL từ bên 1 và hiển thị
thêm cột thứ hai với tên của các đối tượng đó (mục đích cột thứ 2 có tính chất giải thích).
 Nhập dữ liệu cho các bảng theo đúng quy trình. Tự nhập dữ liệu thích hợp cho các bảng,
mỗi bảng 5 thuộc tính (5 hàng)
Trang 4
Trang 5
BÀI 3: Cơ Sở Dữ Liệu QUẢN LÝ NGÂN HÀNG
Yêu Cầu:
 * Tìm hiểu CSDL.
 * Quy định hợp lý các đặc tính: Data Type {Kiểu Dữ Liệu}, Field size {Kích Thước Của
Trường}, Format {Định dạng}, Caption {Hiển Thị}, Description {Mô Tả}
 ** Xác định các thuộc tính khoá chính của từng bảng?
 *** Tìm xem có bao nhiêu cách đặt khoá chính cho CSDL này?
 Tìm hiểu và phân tích vai trò cấu trúc, Đặc điểm của mỗi trường hợp (cách) thiết lập
khoá chính mà bạn đã đưa ra? Sự khác nhau của các cách thiết lập khoá chính nói
trên?
 *Dựa vào dữ liệu mẫu, Học Viên tự xác định (quy định) kiểu dữ liệu, độ lớn (chiều dài),
các tham số Format, Inputmask cho các Field (trường) của các bảng?

 Thiết kế tạo các Table bảng cho cơ sở dữ liệu Quan_Ly_Ngan_Hang?
 Thiết lập đặc tính Indexed: {No. Yes(No Duplicates). Yes(Duplicates OK)} cho các field
được làm khoá chính?
 Thiết lập RelationShip (tạo mối quan hệ) giữa các bảng trong CSDL. Ràng buộc chặt
chẽ, cập nhật, chỉnh sửa thay đổi hoặc xoá bên 1 thì bên nhiều được cập nhật, chỉnh sửa
thay đổi hoặc xoá theo? (cập nhật, chỉnh sửa, xóa liên cấp)
 Tạo các Field phụ thuộc ({Mã} bên nhiều) nhận DL từ bên 1 và hiển thị thêm cột thứ hai
với tên của các đối tượng đó (mục đích cột thứ 2 có tính chất giải thích).
 Nhập dữ liệu cho các bảng theo đúng quy trình. Tự nhập dữ liệu thích hợp cho các bảng,
mỗi bảng 5 thuộc tính (5 hàng)
Giới Thiệu CSDL:
• Một ngân hàng muốn dùng máy tính để quản lý các khách hàng đến vay tiền hoặc gửi
tiền tại các chi nhánh của ngân hàng. Để làm việc này, một cơ sở dữ liệu mang tên Quản Lý
Ngân Hàng đã được tạo ra bằng việc dùng phần mềm Access. Cơ sở dữ liệu này bao gồm
các bảng sau đây:
1. T01ChiNhanh chứa các
thông tin về các chi nhánh của
ngân hàng. Ngân hàng có nhiều
chi nhánh. Bảng này có cấu trúc
như sau:
 Quy định những đặc tính cho các Field (trường) của bảng T01ChiNhanh? (điền vào
phần dấu: ?)
Trang 6
Tên Vùng Ý Nghĩa
MACN
TENCN
TPCN
TSAN
Mã chi nhánh ngân hàng
Tên chi nhánh ngân hàng

Thành phố của chi nhánh
Trị giá tài sản của chi nhánh
Field Name
{Tên Trường}
Data Type
{Kiểu Dữ Liệu}
Field size
{Kích
Thước Của
Trường}
Format
{Định dạng}
Caption
{Hiển Thị}
Description
{Mô Tả}
MACN
? ? ? ? ?
TENCN
? ? ? ? ?
TPCN
? ? ? ? ?
TSAN
? ? ? ? ?
2. T02KhachHang chứa các thông tin về tất cả các khách hàng của ngân hàng. Những
khách hàng này vay tiền, hoặc gửi
tiền, hoặc cả hai tại các chi nhánh
ngân hàng. Bảng này có cấu trúc
như sau:
 Quy định những tính chất cho các Field (trường) của bảng T02KhachHang?

3. Bảng T03TaiKhoanVay chứa thông tin về những tài khoản cho vay tại các chi nhánh
ngân hàng. Một khách hàng khi đến một chi nhánh ngân hàng nào đó để vay tiền thì sẽ
được chi nhánh đó mở ra một tài khoản vay để quản lý số tiền vay, khi vay thì khách hàng
phải chọn phương án vay. Mỗi phương
án vay khác nhau, sẽ có thời gian đáo
hạn (Đến thời hạn trả) khác nhau và tiền
lãi khác nhau, ngoài ra để biết tài khoản
vay ngày nào? thì ta có ngày vay. Một
chi nhánh có nhiều tài khoản vay, nhưng
một tài khoản vay thì thuộc về một chi nhánh nào đó mà thôi. Bảng này có cấu trúc như
sau:
 Quy định những tính chất cho các Field (trường) của bảng T03TaiKhoanVay?
4. T04BangVay chứa các thông tin về khách hàng vay tiền. Một khách hàng có thể có nhiều
tài khoản vay, và một tài khoản vay có thể được sở hữu bởi nhiều khách hàng (Ví dụ 2
người có thể cùng đứng ra vay một số tiền). Bảng
này có cấu trúc như sau (trong đó field MAKH kết
hợp với SOTKV làm thành khóa chính của bảng)
Trang 7
Tên Vùng Ý Nghĩa
MAKH
TENKH
DPKH
TPKH
Mã khách hàng
Họ tên khách hàng
Địa chỉ đường phố của khách hàng
Thành phố khách hàng sinh sống
Field Name
{Tên Trường}
Data Type

{Kiểu Dữ Liệu}
Field size
{Kích Thước Của Trường}
Format
{Định dạng}
Caption
{Hiển Thị}
Description
{Mô Tả}
MAKH
? ? ? ? ?
TENKH
? ? ? ? ?
DPKH
? ? ? ? ?
TPKH
? ? ? ? ?
Tên Vùng Ý Nghĩa
SoTKVay
STVay
PAVay
NgayVay
Số tài khoản vay
Số tiền vay
Phương án vay
Ngày vay
Field Name
{Tên Trường}
Data Type
{Kiểu Dữ Liệu}

Field
size
{Kích
Thước
Của
Trường}
Format
{Định
dạng}
Caption
{Hiển Thị}
Description
{Mô Tả}
SoTKVay
? ? ? ? ?
STVay
? ? ? ? ?
PAVay
? ? ? ? ?
NgayVay
? ? ? ? ?
Tên Vùng Ý Nghĩa
MAKH
SOTKV
Mã khách hàng
Số tài khoản vay
 Dựa vào dữ liệu mẫu, Học Viên tự xác định (quy định) kiểu dữ liệu, độ lớn (chiều dài),
các tham số Format, Inputmask cho các Field (trường) của bảng T04BangVay?
5. T05TaiKhoanGoi chứa các thông tin về các tài khoản gởi tại chi nhánh ngân hàng. Một
khách hàng khi đến một chi nhánh ngân hàng nào đó để gởi tiền sẽ được chi nhánh đó mở

ra một tài khoản gởi để quản lý số tiền gởi. Khi gởi thì khách hàng có các thông tin về các
tài khoản gởi tại chi nhánh ngân hàng. Khi gởi khách hàng phải chọn phương án gởi,
phương án gởi khác nhau sẽ có thời gian đáo hạn (Đến thời hạn trả) khác nhau và tiền lãi
khác nhau, ngoài ra để biết tài khoản gởi được khách hàng gởi ngày nào? ta có ngày gởi.
Bảng này có cấu trúc như sau:
 Quy định những tính chất cho các Field (trường) của bảng T05TaiKhoanGoi?
6. T06BangGoi chứa các thông tin về khách hàng gởi tiền. Một khách hàng có thể có nhiều
tài khoản gởi, và một tài khoản gởi có thể được sở hữu bởi nhiều khách hàng (Ví dụ 2 người
có thể cùng đứng ra gởi và cùng quản lý số tiền gởi này). Bảng này có cấu trúc như sau:
Tên Vùng Ý Nghĩa
MAKH
SOTKG
Mã khách hàng
Số tài khoản gởi
 Quy định những tính chất cho các Field (trường) của bảng T06BangGoi?
Trang 8
Field Name
{Tên Trường}
Data Type
{Kiểu Dữ Liệu}
Field
size
{Kích
Thước Của
Trường}
Format
{Định dạng}
Caption
{Hiển Thị}
Description

{Mô Tả}
MAKH
? ? ? ? ?
SOTKV
? ? ? ? ?
Tên Vùng Ý Nghĩa
MACN
SOTKG
STGOI
PAGOI
NGAYGOI
Mã chi nhánh ngân hàng
Số tài khoản gởi
Số tiền gởi
Phương án gởi
Ngày gởi
Field Name
{Tên Trường}
Data Type
Field
size
Format
{Định dạng}
Caption
{Hiển Thị}
Description
{Mô Tả}
MACN
? ? ? ? ?
SOTKG

? ? ? ? ?
STGOI
? ? ? ? ?
PAGOI
? ? ? ? ?
NGAYGOI
? ? ? ? ?
Field Name
{Tên Trường}
Data Type
Field
size
Format
{Định
dạng}
Caption
{Hiển Thị}
Description
{Mô Tả}
MAKH
? ? ? ? ?
SOTKG
? ? ? ? ?
Dữ Liệu chương trình quản lý Ngân Hàng
Trang 9
Trang 10
PHẦN II QUERYS – TRUY VẤN
Bài 1 CSDL Quản Lý Sinh Viên
(PHẦN NÀY NHỮNG CÂU ĐƯỢC ĐÁNH DẤU “*” LÀ NHỮNG CÂU CÓ MỨC ĐỘ KHÓ CAO HƠN)
A. Select Query - Truy vấn lựa chọn trích lọc dữ liệu với điều kiện ta đưa ra.

1. Từ bảng SinhVien đưa ra danh sách với những thông tin về SV: Mã số SV, Họ SV, Tên,
Địa chỉ, Số điện thoại, Giới tính của tất cả SV. Lưu query với tên Q01_DS_SinhVien.
2. Cho biết Họ Và Tên, Ngày Sinh, Giới Tính, Đoàn Viên của những SV khoa Toán Tin.
Lưu query với tên Q02_SV_KhoaToanTin.
3. Cho biết: Họ Và Tên, Ngày Sinh, Giới Tính, Đoàn Viên thuộc khoa với mã khoa được
nhập từ bàn phím. Lưu query với tên Q03_TimTheoKhoa.
4. Cho biết Họ Và Tên, Ngày Sinh, Giới Tính, Đoàn Viên của những SV khoa Toán Tin đã
vào đoàn viên. Lưu query với tên Q04_SV_DoanVienKhoaToanTin.
5. Đưa ra những thông tin: Mã Khoa, Họ Và Tên, Ngày Sinh, Nguyên Quán của những SV
khóa 31 (SV khóa 31 có 2 ký tự đầu của mã số SV là 06. Lưu query với tên
Q05_SV_Khoa31.
6. Đưa ra những thông tin: Mã Khoa. Họ Và Tên, Ngày Sinh, Nguyên Quán của những SV
thộc đối tượng 3. Với Mã Khoa được nhập từ bàn phím. Lưu query với tên
Q06_SV_DoiTuong3.
7. Cho biết: Tên Khoa, Họ Và Tên, Môn Học và Điểm của những SV có điểm từ 9 đến 10
điểm. Lưu query với tên Q07_SV_DiemGioi.
8. Tìm thông tin của những SV nữ tuổi từ 17 đến 20 đang học khoa du lịch. Lưu query với
tên Q08_SV_NuKhoaDL.
9. Cho biết: Mã Số SV, Mã Môn Học và Số Tín Chỉ của những SV đã đăng ký trong học kỳ
2 năm học 2007-2008. Biết SV học các môn học ở học kỳ 2 năm học 2007-2008 thì phải
đăng ký học phần trong thời gian từ 01/05/2007 đến 30/05/2007. Lưu query với tên
Q09_SV_HocKy2_2007-2008
10. Tìm những SV khoa ngoại ngữ mà có ngày sinh nhật đúng vào ngày thứ 7 trong tuần.
Lưu query với tên Q10_SV_SinhVaoThu7.
11. Tìm thông tin của những SV có ngày sinh nhật đúng vào ngày hiện tại khi thi hành
query. Lưu query với tên Q11_SV_SinhNhatHomNay.
12. Cho biết Mã Số SV, Họ Và Tên, Ngày Sinh, Phái, Học Phí của môn học có mã “TC01”
của khoa công nghệ thông tin? (Biết học 1 tín chỉ SV phải đóng 45,000
đ
. Lưu Query với

tên Q12_HocPhiMonTC01. (Định dạng trường Học Phí ở dạng: ###,### đ
13. Cho biết Mã Số SV, Họ Và Tên, Ngày Sinh, Học Phí, Tiền Giảm, Học Phí Thực Thu của
môn học có mã “TC01” của khoa công
nghệ thông tin? (Biết học 1 tín chỉ SV
phải đóng 45,000
đ
, Tiền giảm: dựa vào
bảng Tỉ Lệ Giảm, Học Phí Thực Thu =
Học Phí - Tiền Giảm. Lưu Query với tên Q13_HocPhiMonTC01.
14. Cho biết Mã Số SV, Họ Và Tên, Ngày Sinh, Tên Môn, Số Tín Chỉ, Điểm, Điểm Cộng,
Tổng Điểm, Kết Quả. Trong đó trường Điểm Cộng: Nếu hai ký tự bên trái của Mã Môn
là “QP” thì cộng thêm 1.5
đ
, Nếu hai ký tự bên trái của Mã Môn là “SP” thì cộng thêm 1
đ
,
các môn còn lại Điểm Cộng là 0. Trường Tổng Điểm bằng Điểm + Điểm Cộng.
Trường Kết Quả: Nếu Tổng Điểm < 5 thì Kêt Quả ghi là Hỏng, ngược lại ghi là Đạt?
Lưu Query với tên Q14_KetQuaThi.
B. Summary Select Query – Truy vấn tính toán tổng hợp số liệu.
1. Cho biết: Mã Khoa, Tên Khoa, Tổng Số SV tương ứng của khoa? Lưu Query với tên
QB01_TongSVKhoa.
2. Cho biết: MaSV, Họ Và Tên, Tổng Số Tín Chỉ của SV đã hoàn tất (đã đạt), khi biết mã
số của sinh viên. Lưu Query với tên QB02_TongTinChi. (Biết điểm >= 5 thì đạt)
Trang 11
Tỉ lệ giảm học phí cho sinh viên
Đối tượng 1 2 3
% giảm 50% 25% 0%
3. Cho biết: Mã Số SV, Họ Và Tên, Ngày Sinh, Tổng số Tiền học phí SV đó đã đóng khi
biết Mã Số SV. (Biết học 1 tín chỉ SV phải đóng 45,000

đ
) Lưu Query với tên
QB03_TongHocPhi.
4. Tìm thông tin SV đã đạt tổng số tín chỉ cao nhất (nhiều tín chỉ nhất) của khoa CNTT?
Thông tin gồm: Mã SV, Họ Và Tên, Ngày Sinh, Khoa, Tổng Số Tín Chỉ. Lưu Query với
tên QB04_SVCoTinChiCaoNhat.
5. Truy vấn tìm những thông tin của khoa có tổng số lượng SV theo học thấp nhất? (Thông
tin gồm: Mã Khoa, Tên Khoa, Tổng Số SV). Lưu Query với tên
QB05_KhoaSVThapNhat.
6. Truy vấn tìm những thông tin của 3 khoa có tổng số lượng SV theo học nhiều nhất?
(Thông tin gồm: Mã Khoa, Tên Khoa, Tổng Số SV). Lưu Query với tên
QB06_3KhoaCaoNhat.
C. Crosstab Query – Truy vấn chéo.
1. Tạo truy vấn tổng hợp số liệu theo bảng dưới đây.
Thống kê so sánh tổng số lượng SV Nam - Nữ theo từng
khoa. Lưu Query với tên QC01_NamNuTheoKhoa.
2. * Tạo query thống kê tổng số SV đã vào đoàn và tổng số SV chưa vào đoàn theo từng
khoa như mẫu dưới đây? Lưu Query với tên QC02_DSachDoanVien.

Khoa
Tên
Khoa
Tổng
Số SV
Số SV Đã
Vào Đoàn
Số SV Chưa
Vào Đoàn
#### ######### ## ## ##
#### ######### ## ## ##

#### ######### ## ## ##
3. * Tạo query thống kê tổng số SV như mẫu dưới đây? (Chú ý: Nếu SV nào có điểm thi
<5 thì hỏng, ngược lại là đạt). Lưu Query với tên QC03_SV_DatHong.

Môn Học
Tên
Môn Học
Tổng Số SV
Đăng Ký
Số SV
Hỏng
Số SV
Đã Đạt
#### ######### ## ## ##
#### ######### ## ## ##
#### ######### ## ## ##
D. Find Unmatched Query – Truy vấn tìm thuộc tính mồ côi.
1. Tạo query tìm những môn học chưa có SV nào đăng ký? Với các thông tin: Mã Môn
Học, Tên Môn Học, Số tín chỉ. Lưu Query với tên QD01_MonKhongHoc.
2. Tạo query tìm những SV chưa đăng ký môn học nào? Gồm các thông tin: Mã SV, Họ Và
Tên, Khoa? Lưu Query với tên QD02_SVChuaDangKy.
E. Các Truy Vấn Hành Động .
 Thực hiện copy một bảng mới đặt tên là SinhVien_Tam, với cấu trúc và dữ liệu giống
như bảng T02_SinhVien?
 Thực hiện copy bảng mới đặt tên là MonHoc_Tam, với cấu trúc và dữ liệu giống như
bảng T03_MonHoc?
 Thực hiện copy bảng mới đặt tên là Khoa_Tam, chỉ copy cấu trúc không có dữ liệu,
cấu trúc giống như bảng T01_Khoa?
E.1. Make Table Query – Truy Vấn Tạo bảng.
1. Từ bảng SINHVIEN thiết lập query tạo ra một Table (bảng) mới có tên là

SV_DaVaoDoan. Gồm tất cả các thông tin như ở bảng SINHVIEN. Table SV_DaVaoDoan
chỉ chứa những SV đã vào đoàn của khoa Toán Tin? Lưu Query với tên
QE101_TableDoanVien.
2. Thiết lập query tạo ra một Table (bảng) mới có tên là HocPhi_SV_DaVaoDoan, Bảng
này chỉ chứa thông tin những SV đã vào đoàn. Gồm các field: Mã Môn Học, Tên Môn Học,
Trang 12
Mã Khoa Nam Nữ
#### ## ##
#### ## ##
#### ## ##
Số Tín Chỉ, Học Phí. (Học Phí = Số Tín Chỉ * 45,000
đ
) Lưu Query với tên
QE102_HocPhiDoanVien.
E.2. Update Query - Truy vấn cập nhật chỉnh sửa dữ liệu,
1. Tạo query đổi tên của môn học có mã là CN20 thành tên môn là: Công Nghệ Máy Tính?
Cho bảng MonHoc_Tam. Lưu với tên query: QE201_DoiTenMon.
2. Từ bảng MonHoc_Tam. Tạo query tăng số tín chỉ của môn học có mã là SP09 thêm 2 tín
chỉ nữa? Lưu với tên query: QE202_TangTinChiMon.
3. Tạo query tăng thêm 1 điểm cho những SV đã thi môn có mã LH05 với số điểm từ 3 đến
4 điểm? Lưu với tên query: QE203_TangDiem.
4. Cập nhật lại cho bảng SinhVien_Tam, những SV có Mã Số SV 06##### thành 08#####?
Lưu với tên query: QE204_CapNhatMaSoSV.
5. * Cập nhật lại cho bảng MonHoc_Tam, những môn học có hai ký tự đầu của Mã Số
Môn là QP thành QU? (Ví Dụ: QP011  QU011, QP03  QU03. Lưu với tên query:
QE205_CapNhatMaMon1.
6. * Cập nhật lại cho bảng MonHoc_Tam, những môn học có Mã Số Môn là “S*” thành
“SKH*”? (Ví Dụ: SP011  SKH011, SP03  SKH03). Lưu với tên query:
QE205_CapNhatMaMon2.
E.3 Delete Query – Truy vấn Xóa dữ liệu.

1. Từ bảng SINHVIEN_TAM. Hãy tạo query xóa khỏi bảng SINHVIEN_TAMSV những
SV có mã tự nhập từ bàn phím? Lưu với tên query: QE301_XoaSV.
2. Tạo query xóa những môn học có hai ký tự đầu của Mã Môn Học là NH? Lưu với tên
query: QE302_XoaMonHoc1.
3. Tạo query xóa những môn học có hai ký tự đầu của Mã Môn Học là QP và SP khỏi bảng
MonHoc_Tam? Lưu với tên query: QE302_XoaMonHoc2.
E.4. Apend Query – Truy vấn nối đuôi.
1. Hãy bổ sung thêm những SV đã vào đoàn của khoa sư phạm và khoa Môi trường vào
bảng SV_DaVaoDoan? Lưu với tên query: QE401_ThemDoanVien1.
2. * Hãy bổ sung thêm những SV đã vào đoàn của Công Nghệ Thông Tin và khoa Du Lịch
vào bảng HocPhi_SV_DaVaoDoan? Lưu với tên query: QE402_ThemDoanVien2.
(Chú ý: Thiết lập query có đầy đủ và chỉ đủ các field có trong bảng
HocPhi_SV_DaVaoDoan)
3. Thực hiện cập nhật thêm dữ liệu: “CNPM”; “Công Nghệ Phần Mềm”; “6”. vào bảng
T03_MonHoc_Tam? Lưu Query với tên: QE403_ThemDL.
F. Truy vấn bằng ngôn ngữ SQL .
1. *Dùng Ngôn ngữ SQL thực hiện cập nhật thêm dữ liệu: “CNPM”; “Công Nghệ Phần
Mềm”; “6”. vào bảng T03_MonHoc? Lưu Query với tên: QF01_ThemDL.
2. *Dùng Ngôn ngữ SQL Thực hiện Xóa thông tin của SV có mã là 0610106 khỏi bảng
SinhVien_Tam? Lưu Query với tên: QF02_XoaDL.
3. *Dùng Ngôn ngữ SQL thực hiện tăng số tín chỉ của môn học có mã là SP09 thêm 2 tín
chỉ nữa? Lưu với tên query: QF03_TangTinChiMon.
Trang 13
PHẦN III FORMS
Bài 1 QUẢN LÝ SINH VIÊN
1. Tạo form như mẫu dưới đây. Dùng Wizards tạo các nút lệnh: Đến SV tiếp theo, Quay lại
SV trước, Về SV đầu tiên, Đến SV cuối cùng,
Giới Tính và Đoàn Viên hiển thị dấu trích theo dữ liệu của từng SV?
Lưu, Đóng form. Lưu form với tên: F01_LyLichSinhVien
2. Dùng Main / Sub Form (Form chính - phụ) tạo form nhập liệu sau. Các nút lệnh dùng

Wizads. Lưu form với tên: F02_NhapLieuSinhVien
Trang 14
3. Thiết kế form theo mẫu. Lưu form với tên F03_TimThongTin_ListBox.
Main Form gồm Danh Mục Khoa là một ListBox, dữ liệu nguồn là Mã Khoa, List Box này
hiển thị 2 cột, cột thứ nhất là Mã Khoa, cột thứ hai Tên Khoa (Tên Khoa có ý nghĩa giải
thích cho người dùng), và 8 hàng. Khi người dùng chọn khoa nào thì thông tin của tất cả
những SV đang theo học khoa ấy được hiển thị trong phần bên dưới (sub form). Khi rê
chuột vào List Box một dòng giải thích hiển thị “Chọn Khoa Cần Tìm, Và Xem Thông Tin
Ở Phần Dưới”.
 Dùng công thức cập nhật Ngày ## Tháng ## Năm #### hiện tại của hệ thống máy tính?
 Đồng hồ: Bây Giờ Là: ## Giờ ## Phút ## Giây ####. Cập nhật từ đồng hồ máy tính?
 Các nút lệnh dùng Event để thực hiện hành động. Nút Thoát: Đóng form. Nút “Lý Lịch
Sinh Viên”: Thực hiện mở Form F01_LyLichSinhVien. Nút “Xem DS Đoàn Viên”: thực
hiện Mở query QC02_DSDoanVien. Nút “Mở Bảng Sinh Viên” thực hiện mở table
T01_SinhVien.
4. Thiết kế form theo mẫu sau. Lưu form với tên F04_TimThongTin_ComBoBox.
 Tất cả chức năng giống như câu 3. List Box được thay thế bằng ComBo Box. ComBo
Box này đặt tên là ComBoKhoa?
Trang 15
5. Thiết kế form nhập dữ liệu theo mẫu sau. Lưu form với tên F05_DangKyMonHoc.
 Thiết kế ComBo Box “Mã Khoa” để chọn mã khoa khi nhập liệu.
 Tất cả các nút lệnh dùng Event? (yêu cầu các anh (chị) học viên thiết kế lại lần thứ 2
cho những nút lệnh có chức năng giống nhau)
 Thiết kế Text Box hiển thị số thứ tự của SV trong danh sách?
 Nút “Về Trang Chính” không có hành động.
 Khi đã ở SV đẩu tiên trong danh sách, mà click vào nút “SV Trước” thì hiển thị Thông
Báo “Day La Sinh Vien Dau Tien!”
 Khi đã ở SV cuối cùng trong danh sách, mà click vào
nút “Đến SV Cuối” thì hiển thị Thông Báo “Day La Sinh
Vien Cuoi Cung Roi!”

 Nếu Click vào nút “Thoát” thì hiển thị thông báo: “Ban
Co Dong Y Thoat Khong?”, Nếu nhấn OK thì thoát form,
nhấn Cancel trở lại làm việc bình thường?
Trang 16
PHẦN IV REPORT
1. Hãy thiết kế báo cáo như sau. Lưu tên là: R01_BaoCaoSV.
 Đà Lạt, Ngày ## Tháng ## Năm #### cập nhật ngày hiện tại của hệ thống máy tính.
2. Tạo bảng báo cáo danh sách SV theo khoa như sau. Lưu R02_BaoCaoTheoKhoa.
 “Tổng Số Sinh Viên ##” hiển thị giá trị tổng số SV đang học tại khoa tương ứng.
 Tiêu đề “Danh Sách Sinh Viên ###############” cập nhật tên khoa tương ứng. VD:
“Danh Sách Sinh Viên Khoa Du Lịch”, “Danh Sách Sinh Viên Khoa Công Nghệ Thông
Tin”, …
 Tính tổng tất cả các SV đang học của trường ở tất cả các khoa.
Trang 17
BÁCH KHOA
Trang 18
BÁCH KHOA
3. Tạo báo biểu sau. Lưu tên là: R03_BaoCaoHocPhi.
 “Sinh Viên Thứ ##” Hiển thị số thứ tự của SV trong danh sách.
 Tính tổng cộng học phí đã đóng theo từng khoa.
 Mục “Bằng Chữ” không gán chức năng. (tạo 1 text box đặt tên BangChu chức năng để
trống)
Trang 19
BÁCH KHOA
Phần V MACROS
những câu không bắt buộc HV sẽ được tìm hiểu và hướng dẫn kỹ ở chương trình “SAU TIN B”.
(học viên có thể mở rộng)
Trong phần này chúng ta sẽ ôn lại và nâng cao chức
năng Event trước khi vào Macros.
1. Thiết kế form CẬP NHẬT - CHỈNH SỬA SINH

VIÊN theo mẫu sau. Lưu form với tên
F06_NhapChinhSuaSV.
 Tạo Text Box: “Sinh Viên Thứ ##”
hiển thị số thứ tự của SV trong danh sách?
 Các nút lệnh:
dùng Event?
dùng Event?
 Các nút lệnh: dùng Macros.
 Khi Click vào mút: thì form “Hình
Sinh Viên” hiển thị, khi form “Hình Sinh Viên” hiển
thị ra màn hình sau thời gian là 3 giây form này tự
động thoát?
 Khi click lên 2 nút xoá và thêm mới thì hiển thị 2 thông báo như hình
bên dưới. “Yes”, “No”, “OK”, “Cancel” phải được thực hiện đúng lệnh.
Trang 20
2. Thiết kế form như sau. Lưu với tên F07_TimSinhVienTheoTen
Yêu cầu:
 Dùng Macros để tạo các hành động và gán vào những nút lệnh tương ứng.
 Khi người dùng click vào nút ký tự nào thì thông tin của tất cả các SV có ký tự đầu của
Tên giống ký tự của nút đó được hiển thị.
 Khi click lên nút hiển thị thông báo “Bạn
Có Muốn Thoát Không?”
 Khi click lên nút thì thoát form và vào
CSDL.
 Khi click lên nút hiển thị thông báo
“Bạn Có Muốn Thoát Khỏi Chương
Trình QLSV Này Không?”. Nếu “Yes”
thì thoát chương trình QLSinhVien,
Nếu “No” thì đóng thông báo, và trở lại
QLSinhVien làm việc bình thường.

 Khi click lên 2 nút
khởi động chương trình ứng dụng MS
Word và MS Excel.
 Nút lệnh “Về Trang Chính” không gán hành động.
3. Thiết kế form cập nhật học phí như sau. Lưu với tên F08_CapNhatHocPhi.
Yêu cầu: Tất cả các nút lệnh dùng Macro.
 Text Box “Tổng Học Phí Thực Thu” cập nhật tính
tổng của HocPhiThucThu ở Sub Form.
 Text Box “Tổng Số Môn Đã Đóng Học Phí”
đếm tổng số môn học (ở Sub Form) mà SV đã đóng học phí.
 Nút “Về Trang Chính” không gán hành động.
 Nút “Tìm Kiếm SV” mở form F07_TimSinhVienTheoTen
 Nút “Báo Cáo” mở Report R03_BaoCaoHocPhi
 Dòng chữ “Cập Nhật Học Phí” là dòng chữ chạy sang bên trái.
 Các nút còn lại gán hành động theo đúng chức năng như đã thực hiện ở những form
trước, (có hiển thị thông báo).
Trang 21
PHẦN LẬP TRÌNH – MODULES
Phần dành cho học viên khá giỏi: (không bắt buộc)
 Làm quen với ngôn ngữ lập trình Visual Basic. (yêu cầu nắm được cấu trúc một modul
chương trình)
 Đùng ngôn ngữ lập trình Visual Basic viết tạo ra một hàm có tên là “DoiSoRaChu” để
đọc giá trị số trong “Tổng Học Phí Thực Thu” thành chữ cho ô “Bằng Chữ”.
4. Thiết kế form cập nhật học phí như sau. Lưu với tên F09_TimKiemSinhVien.
Yêu cầu:
 Dùng [Event Procedure] để thiết kế liên kết hành động.
 Người dùng nhập tên SV vào ô Text Box “Nhập Tên Sinh Viên Cần Tìm” và click vào
nút “Tìm” Thì tất cả thông tin các môn học và học phí của SV đó được hiển thị ở
phần Sub Form.
Nút “In Kết Quả” sẽ mở query (nội dung giống như Sub Form) chỉ chứa

thông tin của SV đã được nhập Tên trong Text Box “Nhập Tên Sinh Viên
Cần Tìm”.
Trang 22
5. Thiết kế form F10_TimSinhVien theo mẫu sau.
Yêu cầu:
 Dùng Macros và sử dụng truyển tham số từ Query đến Form, từ Form đến Form để kết
nối dữ liệu.
 Dùng Macros để liên kết gán hành động cho các nút lệnh thực hiện đúng chức năng (như
đã nêu ở câu Form F09_TimKiemSinhVien).
 So sánh tiện ích của người sử dụng ở 2 cách thiết kế [Event Procedure] và Macros.
(form F09 và form F10)
 **Sử dụng hàm “DoiSoRaChu” để dịch “Tổng Học Phí” thành chữ. (Hàm
“DoiSoRaChu” đã được viết bằng ngôn ngữ lập trình VB ở phần trước)
6. Thiết kế form chính của chương trình như sau. Lưu với tên: “F11_DieuKhien”.
 Cập nhật ngày ## tháng ## năm #### và giờ ## phút ## giây ## hiện tại.
 Nếu chọn “Xem Thông Tin Sinh Viên”  click nút “Đăng Nhập” thì mở form
“F01_LyLichSinhVien”.
Trang 23
 Chọn “Cập Nhật Sinh Viên”  click nút “Đăng Nhập” thì mở form
“F02_NhapLieuSinhVien”.
 Nếu chọn “Tìm Theo Ký Tự Đầu Của Tên”  click nút “Đăng Nhập” thì mở form
“F07_TimSinhVienTheoTen”.
 Nếu chọn “Tìm Thông Tin Theo Tên”  click nút “Đăng Nhập” thì mở form
“F07_TimSinhVienTheoTen”.
 Nếu chọn “Cập Nhật Học Phí”  click nút “Đăng Nhập” thì mở form
“F08_CapNhatHocPhi”.
 Nếu chọn “Báo Cáo Thống Kê Sinh Viên”  click nút “Đăng Nhập” thì mở report
“R02_BaoCaoTheoKhoa”.
 Nếu chọn “Báo Cáo Học Phí”  click nút “Đăng Nhập” thì mở report
“R03_BaoCaoHocPhi”.

 Nếu chọn “Đổi Mật Khẩu”  click nút “Đăng Nhập” thì mở form “FM_MatKhau”.
(form “FM_MatKhau” sẽ được thiêt kế ở câu sau)
 Form F11_DieuKhien này, khi khởi động nằm ở trung tâm màn hình, và không cho di
chuyển (cố định)
**Tạo Tab Control: Trang Tab “Trợ Gúp”: Gồm các nút chọn. khi chọn vào nút nào  thì
ở trangTab “Nội Dung Trợ Giúp”  sẽ hiển thị nội dung tương ứng. (nội dung này tùy ý
thiết kế, ngắn gọn)
 Phần không bắt buộc.
Tạo Tab Control “Giải Trí”.
 Khu vực
“Cấm
Vào”: nếu
rê con trỏ
chuột đến
khu vực
“Cấm Vào” thì tự động xuất hiện thông báo “Đã Bảo
Là Không Được Vào Mà!”.
 Các nút: “Nghe Nhạc, Internet, VTV, Chụp Hình,
Ảnh Vui” liên kết kích hoạt những chương trình ứng
dụng tương ứng. (máy phải nối mạng, cài đặt sẵn trình
nghe nhạc, 1 chương trình chụp hình vui, và file Ảnh
Vui).
7. Tạo form mật khẩu cho người sử dụng.
7.1 Tạo form “FM_Mật Khẩu” để người dùng đăng
nhập chương trình.
 Khi nhập đúng “Tên Người Sử Dụng” và đúng
“Mật Khẩu”  Click vào nút “Đăng Nhập” thì xuất
hiện Thông Báo “Bạn Đã Đăng Nhập Thành Công”
 nhấn “Yes” thì mở form F11_DieuKhien, “No” thì
thoát thông báo và không làm gì cả.

 Nếu nhập sai “Tên Người Sử Dụng” hoặc sai “Mật Khẩu” thì hiển thị thông báo “Bạn
Đã Nhập Sai Mật Khẩu - Đề Nghị Kiểm Tra Lại!”  nhấn “OK” thì xoá hết nội dung “Tên
Người Sử Dụng” và “Mật Khẩu” đã nhập sai, đồng thời con trỏ chuột đặt tại “Tên Người
Sử Dụng” chờ người dùng xử lý.
Trang 24
 Nút “Thoát”: Đóng form “Mật Khẩu”.
 Nút “Đổi Mật Khẩu”: khởi động form “FM_DoiMatKhau”.
7.2
. Tạo form “FM_DoiMatKhau”.
 Các chức năng tương tự
form “FM_MatKhau”.
 Nút “Đổi Mật Khẩu” sẽ mở
form
“FM_DanhSachMatKhau”
7.3 . Tạo form
“FM_DanhSachMatKhau”
 “Tên Người Sử Dụng Mới”
và “Mật Khẩu Mới” được cập
nhật thay thế dữ liệu “Tên
Người Sử Dụng Cũ” và “Mật
Khẩu Cũ”.
 Sau khi nhập xong dữ liệu
cho “Tên Người Sử Dụng Mới” và
“Mật Khẩu Mới”  Click “Đổi Mật
Khẩu”  hiển thị thông báo “Bạn Đã
Đổi Mật Khẩu Thành Công”.  nhấn
nút “OK” mở form F11_DieuKhien.
 Click “Không Đổi Mật Khẩu” 
thì thoát form
“FM_DanhSachMatKhau” và không

làm gì cả.
 Tạo chữ nhấp nháy: “Chú ý: Ghi
Nhớ Tên Mới Và Mật Khẩu Mới ! ” cho
form.
PHẦN VI
HOÀN THIỆN ĐÓNG GÓI
CHƯƠNG TRÌNH ỨNG DỤNG
TẠO MENU
Trang 25

×