Là truy vấn chéo hợp nhất DL và kết quả được trình bày dưới dạng bảng 2 chiều Là cách biểu diễn khác của Total query Dễ đối chiếu, so sánh các số liệu theo chiều ngang hay chiều
Trang 1CROSSTAB QUERY PARAMETER QUERY
ACTION QUERY
Thiết kế các kiểu
truy vấn khác
Trang 2Crosstab query
Trang 3 Không thuận tiện so sánh doanh thu giữa các tháng của mỗi mặt hàng
Trang 4 Là truy vấn chéo hợp nhất DL và kết quả được
trình bày dưới dạng bảng 2 chiều
Là cách biểu diễn khác của Total query
Dễ đối chiếu, so sánh các số liệu theo chiều
ngang hay chiều dọc
Tương tự như Pivot Table trong Excel
Trang 5Cấu trúc của Crosstab
dòng 1 Giá trị 11
Tiêu đề dòng 2 Giá trị 22
Row Heading
Column Heading
Value
Trang 6Yêu cầu của Crosstab query
Tin học quản lý: MS Access - Other querys
6
Crosstab query không được xây dựng dựa trên một crosstab khác
Crosstab đúng yêu cầu khi
Chỉ 1 trường làm Column Heading
Có thể có nhiều trường làm Row Heading
Trang 7 Xđ bảng: Hoadon, CT_hoadon, Hanghoa
Xđ trường: Thang=Month(Ngayban), Mã hàng, Tên hàng,
Thành tiền
Chọn Crosstab query
Column Heading: Thang; Row Heading: Mã hàng, Tên
hàng; Value: Thành tiền
Trang 8Chỉ định cấu trúc của Crosstab
Trang 9Ví dụ 2
9
Yêu cầu
Tính Tổng số tiền bán hàng của từng mặt hàng theo từng tháng
và tổng số tiền bán của mặt hàng đó Kết quả trình bày DL với tháng làm Column Heading
Phân tích
Tương tự ví dụ 1
Khác: Tổng số tiền bán hàng của mặt hàng Tính tổng DL theo dòng
Trang 10Ví dụ 2(tiếp)
Trường làm Row Heading có thể chọn hàm gộp nhóm để có giá trị gộp theo dòng
Tin học quản lý: MS Access - Other querys 10
Chọn Sum tại dòng Total để
tính toán số liệu theo dòng
Trang 11Một vài cách dùng khác
11
Có thể sắp xếp lại thứ tự xuất hiện các cột trong kết
quả của Crosstab
Chọn Query properties/ Column Heading
Có thể hiển thị xâu ký tự nào đó trong tên tiêu đề cột/ trường
Ví dụ: Tháng 1, Tháng 2, …: do người dùng kết hợp chuỗi
“Tháng ” với giá trị biểu thức month(Ngayban)
Dùng cộng xâu “Tháng ” & month(Ngayban)
Với & là toán tử nối 2 xâu
Trang 12Parameter Query
Trang 13Đặt vấn đề
13
NSD có các yêu cầu lấy thông tin
Cho biết tổng số tiền bán hàng của Tháng 1
Cho biết tổng số tiền bán hàng của Tháng 4
…
Tính số tiền của hóa đơn HD001
Tính số tiền của hóa đơn HD015
…
Nhận xét: các yêu cầu từng nhóm tương tự nhau về
Trang 14 Điều kiện có thể thay đổi mỗi khi thực hiện truy vấn
Điều kiện = Parameter
Trang 15Các bước tạo Parameter query
15
yêu cầu
Parameter là biến sẽ nhận giá trị khi thực hiện
Parameter thông qua cửa sổ nhập
Trang 16 Xđ trường: SoHD, Thanhtien
Chọn Total query: Groupby theo SoHD và chọn Sum cho
Thanhtien
Đặt Parameter tại cột SoHD trên dòng Criteria với tên [Nhap
so HD can xem]
Trang 17Ví dụ 3 (tiếp)
17
Trang 19Ví dụ 4 (tiếp)
19
Trang 20 Phân tích
Doanh thu, thuế của từng mặt hàng
Total query
Parameter 1: [Nhập mã hàng: ]
Parameter 2 tại cột Thuế:
Thành tiền * [Tỷ suất thuế]
Trang 21U P D A T E Q U E R Y
D E L E T E Q U E R Y
A P P E N D Q U E R Y
Action query
Trang 22Đặt vấn đề
Tin học quản lý: MS Access - Other querys
22
NSD muốn tăng giá các mặt hàng lên 10%
Thêm DL vào bảng từ nguồn khác
Bạn sẽ làm gì?
Thay đổi giá lần lượt từng mặt hàng?
Nhập lần lượt từng bản ghi vào bảng?
Mất thời gian
Sử dụng truy vấn hành động (action query) thực hiện trên 1 nhóm bản ghi
Trang 23Các loại truy vấn hành động
23
Append query: Thêm vào 1 bảng nào đó 1 nhóm các
bản ghi
Update query: Cập nhật, thay đổi giá trị trong một
vài cột của 1 nhóm bản ghi
Delete query: Xóa đi 1 số bản ghi trong bảng theo yêu
cầu
Trang 24 Bản ghi được cập nhật: Mặt hàng thuộc loại Rượu hay Bia
Trường thay đổi: [Dongia]*(1+20%)
Các bảng tham gia truy vấn
Hàng hóa
Loại hàng
Loại truy vấn: Update query
Trang 25Update query (tiếp)
Trang 26 Loại truy vấn: Delete query
Tin học quản lý: MS Access - Other querys 26
Trường chứa điều kiện giới hạn bản ghi để xóa
Trang 27Delete query (tiếp)
Xóa thông tin chi tiết
các Hóa đơn của khách
tên Nam
Phân tích
Bảng thay đổi: CTHoadon
Các bản ghi bị xóa: TenKH
like “*Nam”
Loại query: Delete query
Nếu bản ghi cần xóa không
Trang 28 Bảng thay đổi: CT_Hoadon
Cần có bảng tạm chứa các bản ghi cần thêm vào bảng, bảng
thường có cấu trúc giống bảng cần chèn DL (CT_Hoadon)
Loại truy vấn: Append Query
Trang 29Append query (tiếp)
Trang 30 Parameter query: cần tổng quát hóa lớp các yêu cầu
để đơn giản hóa, giảm thiểu các thiết kế
Action query
Cần lưu trữ DL trước khi thực hiện các thay đổi trên DL đó
Nên xem xét được/mất khi sử dụng delete query