BẢMG DỮ LIỆU, VẤN TIN
4.3. Tao vấn tin bằng dang thiết kế — QBE
4.3.3. Các loại Query khác
o Vấn tin tổng họp - Crosstab Query
Vấn tin này trình bày các giá trị tông hợp theo từng nhóm dữ liệu dùng các hàm thống ke như tính tổng, đem số, trung bình cộng,... Kết quả vấn tin này giống như thực hiện chức nãng “Pivot Table...“ nếu như bạn đọc đâ biết dùng MS Excel. Vì thế ta có thô tạo trực tiếp một bảng xoay dùng “PivotTable Wizard” của Access thay vì tạo ván tin Crosstab3, vấn tin Crosstab chỉ tập hợp dữ liệu trên một bảng, do đó, nếu dữ liệu lấy từ nhiều nguồn khác nhau, ta phải tạo một vấn tin thu thập đù dữ liệu trước khi tạo một cross-tabular.
3 Chọn mục Pivot Table Wizard trong hình 30, trả lỏi các yêu cầu trên wizard.
Chương lil: Báng Dữ Liệu, Vun Tin 89
Ví dụ sau đây minh họa việc dùng wizard lấy dừ liệu dể lập bảng cân dối sổ phát sinh kicu bàn cờ từ báng “bút toán”:
Chọn mục “Crosstab Query Wizard” tron? Hình 25, chọn bảng Buttoan khi Hình 44 xuất hiện. Trên Hình 45, chọn field mà ta cân trình bày theo dòng, giả sử tập họp bên nợ, chọn MATAINO. Trên Hình 46, chọn field mà ta cần trình bày theo cột, già sử tập hợp bên có, chọn MATAICO. Trong bước kể tiếp (Hình 47), ta chọn vùng để làm dữ liệu tổng hợp và hàm tính toán cần thiết, giả sử chọn vùng “TIEN” và hàm Sum() đê tính tông tiền.
Như vậy, ta sẽ thu được bảng tập hợp phát sinh các tài khoản, dối ứng phát sinh nợ các tài khoản trên dòng và có các tài khoản trên các cột.
IggKUSaĩgSB
1 HuialtaZ 'HaddaJ 1 MAT *1 NO 'llrodrtl Ịllro.1ô? Ịllr.vdnl I
■í... r * ... ... I Sh-'Id;
Ị 1 rwi.m
\ t - 'Tj4 "■
I - ... H F 1 Hình 44
_^_J I I
Hình 45
I '•* I - I Hình 47
Ta thường dùng dạng vấn tin này để trình bày dữ liệu phân tích theo nhóm, nếu chuyển sang dạng Design, ta dễ dàng bổ sun? thêm các cột hoặc các dòng cũng như thay đôi các hàm thống kê theo các yêu cầu khác nhau. Ví dụ ta có thổ thực hiện một số các thay dổi dể tạo sổ cái dạn? nhiều cột cho một tài khoản bất kỳ.
Nhận xét trong phần lưới xuất hiện mục “Crosstab” để ta thiết kế vấn tin.
90 Chương III: Bảng Dữ Liệu, vẩn Tin
o Vấn tín hành động - Action query
Loại vấn tin này cho phép ta thực hiện các thao tác trên nhiều mẩu tin của một/nhiều bảng chỉ qua một hành động. Action query thực hiện 4 loại hành động:' xóa, cập nhật, thêm vào và tạo bảng.
o Vấn tiii tạo bảng - Make table query
Vấn tin này cho phép ta xuất kết quả vấn tin ra một bảng trong cơ sở dữ liệu hiện tại hoặc kết xuất ra một cơ sờ dữ liệu khác. Thực hiện: Mở vấn tin mà ta muốn thực hiện ờ dạng thiết kế; chọn kiểu vấn tin “Query Type” là Make-table query, hộp thoại như Hình 48 xuất hiện để ta đặt tên cho bảng kết quả.
l ì s a E E
j Make New Table--- : Table Name: jcOAcc
I Current Database
ị (* ^nother^^tabaseii
j File Name: I C:\TheHung\Wetter.mdb
OK Cancel
Hình 48
Vấn tin này tưong tự khi ta dùng INTO trong câu lệnh SQL:
SELECT * INTO BakUpAcc IN ’CiXMyCtyVKTDN.mdb' FROM TAIKHOAN;
o Vấn tin cập nhật - Update query
Vấn tin này cho phép ta thay đổi các giá trị trong một bảng từ một kết quả vấn tin. Thực hiện: Mờ vấn tin mà ta muốn thực hiện ở dạng thiết kế; chọn kiểu vấn tin là Update query, trong phần lưới của cửa sổ Design Query xuất hiện thêm vùng “Update To” để ta thiết lập giá trị muốn thay đôi (Hình 49). vấn tin này tương tự dùng lệnh:
UPDATE bảng SET trị muốn đổi WHERE điều kiện QuiDoi . U p d a te Que
1 E n x c z m l .
- T
K r a o w ằ
d
<1 1 M3BT
MACTU —1
MATATMr*
M5CT MALOAICTU 1 DIENGIAI
Iw/CAvrTM 1
Field:
Table Update To Criíena:
TIEN NGAYCÍU
BUTTOAN CHNGTU _
tien'tycjia
tt?1/03/(JlH
Hình 49:
Thay đôi toàn bộ giá trị trong vùng so tiền cua bàng
“ Buttoan” bằng (số tiền X tỳ
giá) cho các bút toán của các chửng từ ngày 21 tháng 9
Chưong III: Bảng Dữ Liệu, vắn Tin 91 Ví du:
Muốn thay tất cả các tài khoản chi tiết định khoản bên nợ (MATAINO) trong các bút toán ghi nợ tài khoản 1311 từ 14 thành 15 ta viết lệnh:
UPDATE buttoan SET matietno = 15
WHERE mataino =131 AND matieuno = 1 AND matietno=14;
o Vấn tin thêm vào - Append Query
Vấn tin này cho phép ta đưa kết quả vấn tin thêm vào cuối một bảng trong cơ sở dữ liệu hiện tại hoặc kết xuât ra một cơ sờ dữ liệu khác.
Thực hiện: Mở vấn tin mà ta muốn thực hiện ờ dạng thiết kế; chọn kiêu vân tin là Append query, hộp thoại như Hình 50 xuất hiện để ta chi định nơi kết nối kết quả. Trong phần lưới cùa cửa sổ Design Query xuất hiện thêm vùng
“Append To”để ta thiết lập giá trị muốn thay đổi (Hình 50a).
Hình 50 Hình 50a
Vấn tin này tương tự dùng lệnh:
INSERT INTO tênbảngđích [IN tênCSDL] l(danhsáchvùng)]
SELECT [tênbảngnguồn.danhsáchvùng FROM tên(các)bảng
Hoặc nếu chỉ thêm một mẩu tin mói vói các giá trị cụ thề vào bảng đích, ta dùng dạng khác của lệnh:
INSERT INTO tênbảngđích [(danhsáchvùng)] VALUES (danhsáchtrị)
o Vấn tin xóa bỏ - Delete Query
Vấn tin này cho phép ta xóa bỏ (các) mẩu tin từ một hay nhiều bảng thỏa mãn điều kiện cân thiêt. Thực hiện: Mỏ vân tin mà ta muốn thực hiện ở dạng thiết kế; chọn kiều vấn tin lcà Delete query. Trong phần lirói ciìa
92 Chương III: Bàng Dừ Liệu, vắn Tin cửa sổ Design Query xuất hiện thêm vùng “Delete” (Hình 51) để ta chỉ định việc xóa bò: chọn “From” chỉ định xóa còn “Where” chỉ định điều kiện xóa.
•Trorùỗ hỡnh minh họa,'ta'muốn xúa những bỳt toỏn cú số tiền bằng 0 trong tất cả những; chứng từ lập vào ngày “NgayXuLy”
É? NotValírans : Delete Query
TO
r d
1
ô1 1
♦ Jế.
M5CT MALOAICTU DIEMGIAI —
MATAICO MATIEUCO MATIETCO
TIEN 1 Hình 51
Field:
Table:
Delete:
Criteria:
nr
BUTTŨAN K TIEN NGAYCTU —
BUTĩOAN BUTĩOAN CHNGTU —
From Where Where
0 (NgayXuLy]
DELETE liable.*] FROM table WHERE điềukiện
Bạn đọc hãy nghiên cứu thêm các trường họp ta xóa các mẩu tin trong các bảng có mối liên kết 1 :n thì sẽ nảy sinh vấn đề gì?
Lưu V rấ t quan tro n g :
Cúc vẩn ùn hcinh động nếu được thực hiện thành công ta sẽ không có khà năng hòi [)hục lại dữ liệu nếu két quct không được như V. Vì thế khi thực tập cúc kiêu ván tin này ta nên sao chép dự phòng tập tin hoặc xem thử kêt quá ĩnrớc khi cho tiền hành chính thức.