Bài tập ACCESS 2007 – Quản lý Hàng hóa
Để thực hiện các bài tập này, trong phần Control Panel/ Region and Language/
Additional Settings chúng ta chọn như sau:
Sau đó chọn Apply/ OK … để lưu thông số chọn và thoát về Windows
Nếu đang mở Access cần phải thoát khỏi (Exit) và gọi lại Access thì mới có hiệu lực.
Trang 1
Bài tập ACCESS 2007 – Quản lý Hàng hóa
BÀI SỐ 1:
Tạo tập tin cơ sở dữ liệu bằng Access có tên tập tin là BanHang và tạo các bảng sau:
KhachHang (MaKH, TenKH, Diachi,Dthoai)
DonHang (MaDH, NgayDH, NgayGH, MaKH)
MatHang (MaMH, TenMH, DVT, Dongia)
ChiTietDH (MaDH, MaMH, Soluong)
Yêu cầu :
Câu 1 : Thiết lập các thuộc tính theo yêu cầu sau :
KhachHang :
MaKH dài 4 ký tự trong đó 2 ký tự đầu là chữ và tự động hiển thị "KH", 2 ký tự sau là 2 ký
số bất kỳ.
TenKH dài 30 ký tự, tự động hiển thị chữ hoa khi nhập và có màu xanh.
Diachi : nếu có hiển thị màu xanh, nếu để trống tự động hiển thị "chưa biết" màu đỏ.
Dthoai : có dạng (4 số ) - (4 số) . Thí dụ (8234) - (5678)
DonHang :
MaDH dài 3 ký tự trong đó 2 ký tự đầu là chữ tự động hiển thị "DH" ký tự cuối là 1 ký số
bất kỳ.
NgayDH : dạng Ngày tháng năm (2 số).
NgayGH : dạng Ngày tháng năm (2 số) với ràng buộc là chỉ giao hàng sau khi đặt hàng 3
ngày.
MaKH là 1 ComboBox tham chiếu dữ liệu từ bảng KhachHang, hiển thị 2 cột (MaKH,
TenKH)
MatHang : dài 30 ký tự
MaMH : dài 4 ký tự, trong đó 2 ký tự đầu là 2 ký tự chữ, tự động hiển thị "MH", 2 ký tự sau
là 2 ký số bất kỳ.
TenMH : viết hoa ký tự đầu tiên, các ký tự còn lại viết thường. Không được để trống và
không được trùng.
DVT : là 1 ListBox hiển thị các trị 'Thùng', 'Cái', 'Lon', 'Chai', 'Hộp', 'Kg'
Dongia là 1 số dương. Nếu nhập sai hiển thị thông báo 'Nhập dữ liệu sai'
ChiTietDH :
MaDH là 1 ComboBox lấy dữ liệu từ bảng DonHang
MaMH là 1 ComboBox lấy dữ liệu từ bảng MatHang, hiển thị 4 cột MaMH, TenMH, DVT,
Dongia
Soluong : là 1 số dương. Nếu nhập sai hiển thị thông báo 'Nhập dữ liệu sai'
Trang 2
Bài tập ACCESS 2007 – Quản lý Hàng hóa
Câu 2 : Tạo quan hệ giữa các bảng trên, có cài đặt ràng buộc toàn vẹn. Nhập dữ
liệu theo mẫu.
Hướng dẫn thực hiện bài tập
- Gọi Microsoft Access 2007
- Chọn Blank Database, trong bảng Filename sửa tên Database1.accdb thành Quan ly Hang
hoa.accdb
- Chọn Create
* Table KhachHang
- Click nút phải chuột vào Table1: Table, chọn Design View, trong bảng Table name nhập
vào KhachHang và chọn OK
- Tạo các cột trong bảng dữ liệu
(Cột MaKH dài 4 ký tự trong đó 2 ký tự đầu là chữ, tự động hiển thị "KH", 2 ký tự sau là 2
ký số bất kỳ)
- Nhập tên cột MaKH, Data Type: Text
- Bấm chọn field MAKH, click vào biểu tượng khóa (Primary Key).
- Trong bảng Field property, điều chỉnh các thuộc tính:
Field size : 4
Input Mask : "KH"00;0
(TenKH dài 30 ký tự, tự động hiển thị chữ hoa khi nhập và có màu xanh)
- Nhập tên cột TenKH, Data Type: Text
- Trong bảng Field property, điều chỉnh các thuộc tính:
Field size : 30
Format : > [blue]
- Nhập tên cột Diachi, Data Type: Text
Format : @ [blue] ; "Chưa biết" [red]
- Nhập tên cột Dthoai, Data Type: Text
Input Mask : (####)-(####)
- Click chuột phải vào tên table KhachHang, chọn Save
* Table DonDH
- Chọn Create/ Table Design
- Nhập tên cột MaDH, Data Type: Text
Field size : 4
Input Mask : "DH"00;0 Bấm chọn field MADH click vào biểu
tượng khóa (Primary Key).
- Nhập tên cột NgayDH, Data Type: Date/ Time
Format : dd/mm/yy
Input Mask : 00/00/00
Trang 3
Bài tập ACCESS 2007 – Quản lý Hàng hóa
- Nhập tên cột NgayGH, Data Type: Date/ Time
Format : dd/mm/yy
Input Mask : 00/00/00 Click chuột phải bất kỳ trên lưới
thiết kế, chọn Properties , cài đặt Validation rule : [NgayGH] - [NgayDH] >= 3
xong tắt bảng Properties
- Nhập tên cột MaKH, Data Type: Text
Chọn mục Lookup
Display control :
ComboBox
Row source type : Table/Query
Row Source :
KhachHang
Bound column :
1
Column Count :
2
Column Width :
0.5; 1
- Click chuột phải vào tên table Table1, chọn Save, nhập tên DonDH/ Chọn OK
* Table MatHang
- Chọn Create/ Table Design
- Nhập tên cột MaMH, Data Type: Text
Field size : 4
Input Mask : "MH"00;0 . Bấm chọn field MAMH click vào
biểu tượng khóa (Primary Key).
- Nhập tên cột TenMH, Data Type: Text
Input Mask : >L?????????????????????????????
(30 dấu ?)
Required : Yes
Indexed : Yes (No Duplicate)
- Nhập tên cột DVT, Data Type: Text
Chọn Lookup
Display control : ListBox
Row source type : Value List
Row source : "Thùng"; "Cái"; "Lon"; "Chai"; "Hộp"; "Kg"
- Nhập tên cột DonGia, Data Type: Number
Validation Rule : >0
Validation Text : Nhập dữ liệu sai.
- Click chuột phải vào tên table Table1, chọn Save, nhập tên MatHang/ Chọn OK
* Table ChiTietDH
- Chọn Create/ Table Design
- Nhập tên cột MaDH, Data Type: Text
Chọn Lookup
Display control : ComboBox
Trang 4
Bài tập ACCESS 2007 – Quản lý Hàng hóa
Row source type : Table/Query
Row source : DonDH
- Nhập tên cột MaMH, Data Type: Text
Chọn Lookup
Display control : ComboBox
Row source type : Table/Query
Row source : MatHang
Column count : 4
Column Width : 0.5; 1; 0.5; 0.5
- Bấm chọn cả 2 field MaDH, MaMH, click vào biểu tượng khóa (Primary Key).
- Nhập tên cột SoLuong, Data Type: Number
- Click chuột phải vào tên table Table1, chọn Save, nhập tên ChiTietDH/ Chọn OK
* Nhập dữ liệu:
Nhập liệu: bảng chính (phía 1) nhập liệu trước, bảng phụ (bảng nhiều) nhập liệu sau.
- Click chuột phải vào MatHang: Table/ Chọn Open
- Nhập dữ liệu theo bảng sau:
Chú ý:
-
Chỉ nhập 01, 02, … cho cột MaMH
-
Cột DVT chỉ cần bấm chữ đầu tiên (t -> thùng, h -> hộp, …).
-
Cột DonGia không nhập dấu phẩy (TD: 40000, 80000, …)
MaMH
TenMH
DVT
Dongia
MH01
Trà Lipton chanh
Hộp
40,000
MH02
Cà phê Robusta
Hộp
80,000
MH03
Mì ăn liền Aone
Thùng
MH04
Kẹo trái cây
Hộp
50,000
MH05
MH06
Nước suối Lavie
Bánh Qui bơ
Chai
Hộp
4,500
65,000
MH07
Coca Cola
Thùng
90,000
MH08
Pepsi
Thùng
80,000
MH09
Trà Bí đao
Lon
3,500
MH10
Bột ngọt Ajinomoto Gói
80,000
110,000
Trang 5
Bài tập ACCESS 2007 – Quản lý Hàng hóa
- Click chuột phải vào KhachHang: Table/ Chọn Open
MAKH
TenKH
DThoai
Diachi
KH01
HOANG HON (8223)-(4561) 11 Nguyễn Trãi, Q5
KH02
SAO KIM
(8324)-(7654) 3 Lê Thánh Tôn, Q1
KH03
SAO HOM
(8321)-(4654) 12 Nguyễn Huệ, Q1
KH04
BITI'S
110 Ngô Gia Tự, Q10
KH05
BITA'S
Chưa biết
KH06
MINH THU
Chưa biết
KH07
TÚ ANH
(8222)(4444) Chưa biết
KH08
M&TÔI
(8555)-(5555) 12 Lê Duẩn, Q1
- Click chuột phải vào DonDH: Table/ Chọn Open
MaDH
NgayDH
NgayGH
MaKH
DH01
12/04/04
13/04/04
KH01
DH02
15/05/04
19/05/04
KH01
DH03
15/05/04
18/05/04
KH02
DH04
22/03/04
25/03/04
KH03
DH05
18/02/04
19/02/04
KH04
DH06
16/11/04
19/11/04
KH03
DH07
24/10/04
27/10/04
KH02
Trang 6
Bài tập ACCESS 2007 – Quản lý Hàng hóa
- Click chuột phải vào ChiTietDH: Table/ Chọn Open
MaDH
MaMH
Soluong
DH01
MH01
20
DH01
MH02
50
DH01
MH03
30
DH02
MH01
50
DH02
MH02
60
DH03
MH02
40
DH04
MH01
40
DH04
MH06
80
DH05
MH01
50
DH05
MH02
40
DH06
MH03
40
DH06
MH05
70
DH07
MH06
30
- Click nút phải chuột, chọn Save và Close để lưu và đóng toàn bộ 4 Table
Trang 7
Bài tập ACCESS 2007 – Quản lý Hàng hóa
Trang 8
Bài tập ACCESS 2007 – Quản lý Hàng hóa
BÀI SỐ 2:
Câu 2 : Tạo quan hệ giữa các bảng trên, có cài đặt ràng buộc toàn vẹn. Thực hiện
truy vấn trên cơ sở dữ liệu (sẽ được viết tắt là CSDL).
Hướng dẫn thực hiện bài tập
- Gọi Microsoft Access 2007
- Click chọn Quan ly Hang hoa.accdb để mở dữ liệu
* Tạo quan hệ, có cài đặt ràng buộc toàn vẹn
- Click chọn Database Tools/ Relation
Ships
- Chọn toàn bộ 4 Table như hình vẽ bên
phải và chọn Add/ Close
- Nắm kéo thả các Table để sắp xếp vị trí
như hình phía dưới
- Nắm kéo thả tên cột MaKH từ Table
KhachHang qua tên cột tương ứng MaKH
của Table DonDH, trong bảng Edit
Relation Ships chọn Enforce
Referential Integrity và chọn Create
- Thực hiện tương tự đối với MaDH (của
DonDH) => MaDH (của ChiTietDH)
- Thực hiện tương tự đối với MaMH (của
MatHang) => MaMH (của ChiTietDH)
- Click nút phải chuột vào Relation Ships, chọn Save.
- Click nút phải chuột vào Relation Ships, chọn Close.
Trang 9
Bài tập ACCESS 2007 – Quản lý Hàng hóa
* Thực hiện truy vấn trên CSDL
1. Hiển thị đơn đặt hàng gồm các cột MaDH, MaKH, TenKH, DThoai, MaMH,
TenMH, SoLuong
- Chọn Create/ Query Design
- Trong bảng Show Table, chọn toàn bộ 4 Table như hình vẽ phía trên và chọn Add/ Close
- Click đôi (Double Click) vào tên cột MaDH của Table DonDH để chọn cột này vào bảng
truy vấn
- Thực hiện tương tự đối với:
+ MaKH của Table KhachHang
+ TenKH của Table KhachHang
+ DThoai của Table KhachHang
+ MaMH của Table MatHang
+ TenMH của Table MatHang
+ SoLuong của Table ChiTietDH
- Click Run để thực hiện truy vấn kết quả như hình dưới đây:
Trang 10
Bài tập ACCESS 2007 – Quản lý Hàng hóa
2. Truy vấn tìm các mặt hàng của công ty HOANG HON đã đặt:
- Click vào hình mũi tên của TenKH, click vào Select All để bỏ chọn tất cả các mục,
chọn HOANG HON, chọn OK
- Quan sát kết quả
- Click vào mũi tên nêu trên lần thứ hai, chọn Clear Filter from TenKH
3. Tìm các công ty đã đặt hàng Bánh qui bơ và Nước suối Lavie:
- Click vào hình mũi tên của TenMH, click vào Select All để bỏ chọn tất cả các mục,
chọn Bánh qui bơ và Nước suối Lavie, chọn OK
- Quan sát kết quả
- Click vào mũi tên nêu trên lần thứ hai, chọn Clear Filter from TenMH
4. Tìm các công ty đã đặt hàng Bánh qui bơ và Nước suối Lavie theo Thiết kế Query:
- Click nút phải chuột vào Query 1, chọn Design View
- Nhập vào nội dung tìm như hình sau:
Trang 11
Bài tập ACCESS 2007 – Quản lý Hàng hóa
- Chọn Run và quan sát kết quả
5. Chỉ hiển thị các cột MaDH, TenKH, TenMH, SoLuong
- Click nút phải chuột vào Query 1, chọn Design View
- Click tắt chọn các cột MaKH, TenKH như hình sau:
- Chọn Run và quan sát kết quả
- Click nút phải chuột vào Query 1, chọn Save và nhập tên Don dat hang, chọn OK
- Click nút phải chuột vào Don dat hang, chọn Close
6. Tính tổng số lượng các mặt hàng đã đặt trong thời điểm từ 1-3-2004 đến 30-4-2004,
hiển thị MaMH, TenMH, SoLuong
- Chọn Create/ Query Design
- Trong bảng Show Table, chọn table ChiTietDH và chọn Add
- Trong bảng Show Table, chọn table MatHang và chọn Add/ Close
- Click đôi tên cột MaMH của bảng ChiTietDH để lấy vào bảng truy vấn
- Click đôi tên cột TenMH của bảng MatHang để lấy vào bảng truy vấn
- Click đôi tên cột SoLuong của bảng ChiTietDH để lấy vào bảng truy vấn
- Click chọn Total
Trang 12
Bài tập ACCESS 2007 – Quản lý Hàng hóa
- Click vào mục Group By của tên cột SoLuong để hiện ra dấu mũi tên bên phải (như hình
trên), click vào mũi tên này và chọn Sum
- Click vào ô trống kế bên, nhập vào biểu thức
Expr1: IIf([NgayGH]>=CVDate("01-03-2004") And [NgayGH]<=CVDate("30-042004"),1,0)
- Nhập vào số 1 và tắt dấu check như hình dưới đây:
- Click Run để thực hiện truy vấn kết quả như hình dưới đây:
- Có thể sửa SumOfSoLuong thành TongSoLuong cho đẹp kết quả truy vấn
- Click nút phải chuột vào Query 1, chọn Save và nhập tên Don dat hang tu 1-3 den 30-42004, chọn OK
- Click nút phải chuột vào dat hang tu 1-3 den 30-4-2004, chọn Close
7. Tính tổng số tiền đã đặt hàng theo từng công ty, hiển thị MaKH, TenKH, Tong So
Tien. Chú ý cột Tong So Tien = DonGia * SoLuong
- Chọn Create/ Query Design
- Trong bảng Show Table, chọn toàn bộ 4 Table như hình vẽ phía trên và chọn Add/ Close
- Click đôi tên cột TenKH của bảng KhachHang để lấy vào bảng truy vấn
Trang 13
Bài tập ACCESS 2007 – Quản lý Hàng hóa
- Click đôi tên cột SoLuong của bảng ChiTietDH để lấy vào bảng truy vấn
- Click vào ô trống kế bên, nhập vào biểu thức
"ThanhTien": [DonGia]*[SoLuong]
- Click chọn Total
- Chọn Sum thay vì Group By
- Nhập vào ô Criteria:
[Nhập tên KH]
- Chọn Run, nhập tên công ty HOANG HON, chọn OK và quan sát kết quả
- Click nút phải chuột vào Query 1, chọn Save, nhập vào tên truy vấn Tong dat hang theo
công ty, chọn OK
- Click nút phải chuột vào Tong dat hang theo công ty, chọn Close
- Chọn File/ Save as, nhập tên Quan ly Hang hoa – BT 03/ Save
Trang 14
Bài tập ACCESS 2007 – Quản lý Hàng hóa
Trang 15
Bài tập ACCESS 2007 – Quản lý Hàng hóa
BÀI SỐ 3:
Câu 3 : Tạo truy vấn tìm tổng số lượng các mặt hàng, tìm các mặt hàng đã đặt có
số lượng nhỏ nhất, lớn nhất.
Hướng dẫn thực hiện bài tập
- Gọi Microsoft Access 2007
- Click chọn Quan ly Hang hoa – BT 03.accdb để mở dữ liệu
* Tạo truy vấn để hiển thị các mặt hàng đã dặt hàng
3.1. Hiển thị đơn đặt hàng gồm các cột MaDH, TenMH, SoLuong, DonGia, ThanhTien
= [SoLuong] * [DonGia]
- Chọn Create/ Query Design
- Trong bảng Show Table, chọn các Table DonDH, ChiTietDH, MatHang như hình vẽ và
chọn Add/ Close
- Click đôi (Double Click) vào tên cột MaDH của Table DonDH để chọn cột này vào bảng
truy vấn
- Thực hiện tương tự đối với:
+ TenMH của Table MatHang
Trang 16
Bài tập ACCESS 2007 – Quản lý Hàng hóa
+ SoLuong của Table ChiTietDH
+ DonGia của Table MatHang
+ SoLuong của Table ChiTietDH
- Click vào ô trống kế bên, nhập vào biểu thức
"ThanhTien" : [DonGia] * [SoLuong]
- Định dạng cột ThanhTien là #,##0
- Click Run để thực hiện truy vấn kết quả như hình dưới đây:
- Click nút phải chuột vào Query 1, chọn Design View
- Click nút phải chuột vào Query 1, chọn Save và nhập tên Query - Tim So luong, Don
gia, Thanh tien, chọn OK
- Click hình tròn biểu tượng Access ở góc trái phía trên của màn hình, chọn Save as và
nhập tên Query - Tim Tong gia tri các mat hang, chọn OK
- Click nút phải chuột vào tên Query - Tim Tong gia tri các mat hang, chọn Close
- Click đôi vào tên Query - Tim So luong, Don gia, Thanh tien để mở lại truy vấn
3.2. Truy vấn tìm tổng số lượng các mặt hàng đã đặt:
- Click nút phải chuột vào tên Query - Tim So luong, Don gia, Thanh tien, chọn Design
View
- Click nút phải chuột vào cột DonGia, chọn Cut để xóa như hình phía dưới đây:
Trang 17
Bài tập ACCESS 2007 – Quản lý Hàng hóa
- Thực hiện tương tự để xóa cột ThanhTien
- Thực hiện tương tự để xóa cột MaDH
- Chọn Run và quan sát kết quả
- Click nút phải chuột vào tên Query - Tim So luong, Don gia, Thanh tien, chọn Design
View
- Click chọn Total
Trang 18
Bài tập ACCESS 2007 – Quản lý Hàng hóa
- Click vào Group By của cột SoLuong để hiện ra mũi tên, Click mũi tên và chọn Sum
như hình dưới:
- Chọn Run và quan sát kết quả Tổng số lượng các mặt hàng:
- Click nút phải chuột vào tên Query - Tim So luong, Don gia, Thanh tien, chọn Design
View
- Click vào nút Total để hiển thị dòng tổng kết phía dưới
- Chọn Min hay Max để tìm số lượng đặt hàng lớn nhất hay nhỏ nhất.
- Click nút phải chuột vào tên Query - Tim So luong, Don gia, Thanh tien, chọn Save
Trang 19
Bài tập ACCESS 2007 – Quản lý Hàng hóa
- Click nút phải chuột vào tên Query - Tim So luong, Don gia, Thanh tien, chọn Close
Câu 4 : Tiếp tục tìm tổng giá trị các mặt hàng, các mặt hàng có giá trị đặt hàng
nhỏ nhất, lớn nhất.
- Click đôi vào tên Query - Tim Tong gia tri các mat hang để mở lại truy vấn
- Click nút phải chuột vào tên Query - Tim Tong gia tri các mat hang, chọn Design View
- Xóa các cột MaDH, SoLuong, DonGia:
- Chọn Run và quan sát kết quả Thành tiền các mặt hàng:
- Click nút phải chuột vào tên Query - Tim Tong gia tri các mat hang, chọn Design View
- Click chọn Total
- Click vào Group By của cột ThanhTien để hiện ra mũi tên, Click mũi tên và chọn Sum
như hình dưới:
Trang 20
Bài tập ACCESS 2007 – Quản lý Hàng hóa
- Chọn Run và quan sát kết quả Tổng thành tiền các mặt hàng:
- Click vào nút Total để hiển thị dòng tổng kết phía dưới
- Chọn Sum để tìm Tổng giá trị đặt hàng.
- Chọn Min hay Max để tìm Tổng giá trị đặt hàng lớn nhất hay nhỏ nhất.
- Click nút phải chuột vào tên Query - Tim Tong gia tri các mat hang, chọn Save
- Click nút phải chuột vào tên Query - Tim Tong gia tri các mat hang, chọn Close
- Chọn File/ Save as, nhập tên Quan ly Hang hoa – BT 04/ Save
Trang 21
Bài tập ACCESS 2007 – Quản lý Hàng hóa
Trang 22
Bài tập ACCESS 2007 – Quản lý Hàng hóa
BÀI SỐ 4:
Câu 5 : Tạo form nhập số liệu các Khách hàng, Mặt hàng, Đơn đặt hàng và chi
tiết Đặt hàng.
Hướng dẫn thực hiện bài tập
- Gọi Microsoft Access 2007
- Click More và tìm chọn Quan ly Hang hoa – BT 04.accdb để mở dữ liệu
* Tạo form nhập số liệu các Khách hàng
- Chọn KhachHang: Table
- Chọn Create/ Form Design
- Chọn Add Existing Fields
- Click vào dấu + KhachHang để hiển thị các tên cột
- Click đôi (Double Click) vào tên cột MaKH để chọn tên cột này vào Form
- Thực hiện tương tự đối với TenKH, DiaChi, DThoai
Trang 23
Bài tập ACCESS 2007 – Quản lý Hàng hóa
* Tạo các button để di chuyển giữa các record Khách hàng
- Click vào biểu tượng Button (Form Control) như hình trên, Click vào vị trí đặt Button [ 1
] như hình dưới đây, chọn Go to First Record, chọn Next/ Next/ Finish
1
- Thực hiện tương tự để tạo Button Go to Previous Record
- Thực hiện tương tự để tạo Button Go to Next Record
- Thực hiện tương tự để tạo Button Go to Last Record
- Thực hiện tương tự để tạo Button Find Record
- Nắm kéo thả để sắp xếp lại các Button ngay hàng
* Thử nghiệm Form Khách hàng
Trang 24
Bài tập ACCESS 2007 – Quản lý Hàng hóa
- Click nút phải chuột vào Form1, chọn Form View và quan sát (Cột hẹp, nội dung hiển thị
không đủ)
- Click nút phải chuột vào Form1, chọn Design View về chế độ thiết kế
- Chọn 2 ô TenKH và DiaChi, kéo rộng ô cho dủ hiển thị nội dung:
- Click nút phải chuột vào Form1, chọn Form View và quan sát
- Click các Button đã tạo để di chuyển giữa các khách hàng
- Click nút phải chuột vào Form1, chọn Design View về chế độ thiết kế
- Click nút phải chuột vào Form1, chọn Save và nhập tên Form – Nhap So lieu Khach
hang, chọn OK
- Click nút phải chuột vào Form – Nhap So lieu Khach hang, chọn Close
* Tạo form nhập số liệu các Mặt hàng
- Thực hiện tương tự như Form nhập số liệu các Khách hàng
- Click nút phải chuột vào Form1, chọn Save và nhập tên Form – Nhap So lieu Mat hang,
chọn OK
- Click nút phải chuột vào Form – Nhap So lieu Mat hang, chọn Close
Trang 25