[r]
(1)Truy vấn (Query) CSDL
2/8/2018 MS Access 2007 2
Khái niệm
Là công cụ MS Access cho phép khai thác xử lý liệu (tìm kiếm, tổng hợp, trình bày liệu, …)
Dữ liệu mà truy vấn thu thập lấy từ bảng CSDL
Kết truy vấn bố trí theo dạng bảng gọi Dynaset song bảng liệu thực
Có thể tiến hành chỉnh sửa, cập nhật liệu CSDL thông qua truy vấn
Phân loại Query
Select Query (truy vấn lựa chọn liệu) Make-Table Query (truy vấn tạo bảng) Append Query (truy vấn thêm liệu) Update Query (truy vấn cập nhật liệu) Cross Tab Query (truy vấn tham chiếu chéo) Delete Query (truy vấn xóa liệu)
Union Query (truy vấn kết hợp)
Pass-Through Query (truy vấn chuyển giao) Data Definition Query (truy vấn định nghĩa liệu)
(2)2/8/2018 MS Access 2007 5
1 Mở cửa sổ thiết kế truy vấn
Vào tab Create, kích vào nút Query Design
2/8/2018 MS Access 2007 6
2 Chọn bảng liệu
Trong cửa sổ Show Table, chọn bảng/các truy vấn làm nguồn liệu cho truy vấn nhấn vào nút
Add Lưu ý:
Để kích hoạt lại cửa sổ Show Table (trong trường hợp đóng cửa sổ trước đó), cần kích chuột vào nút Show Table tab Design
Tạo liên kết bảng
Để tạo liên kết bảng (nếu chưa tạo mô hình liên kết) cần kéo thả trực tiếp trường liên kết bảng sang trường liên kết bảng cịn lại Để thay đổi liên kết vừa tạo: Kích chuột phải vào đường liên kết, chọn Join Properties …
3 Chọn loại truy vấn
(3)2/8/2018 MS Access 2007 9
4 Lựa chọn thông số cho truy vấn
Tùy thuộc vào yêu cầu thực truy vấn, cần lựa chọn thơng số phù hợp
Ví dụ 1: Truy vấn Select lựa chọn học sinh nam thuộc lớp 6A1
2/8/2018 MS Access 2007 10
Lựa chọn thông số cho truy vấn (tiếp)
- Field Table: Chọn trường-bảng cho truy vấn Có
thể sử dụng cách:
+ Kích đúp chuột vào trường cần chọn danh sách bảng liên kết
+ Kéo thả trường cần chọn danh sách bảng liên kết vào vị trí tương ứng dòng Field
+ Chọn tên bảng danh sách tên trường-bảng dòng Field Table (hoặc tự nhập tên trường/bảng từ bàn phím)
- Show: Hiển thị liệu trường tương ứng
- Sort: Sắp xếp liệu kết theo chiều tăng
(Ascending) giảm (Descending)
- Criteria: Tạo điều kiện cho truy vấn lựa chọn (Lưu
ý: biểu thức điều kiện kết hợp với phép “và” cần đặt dòng, kết hợp với phép “hoặc” cần đặt dòng khác liên tiếp
Lựa chọn thông số cho truy vấn (tiếp) 5 Lưu thực truy vấn
Lưu truy vấn:
- B1: Vào Office Button\Save, kích chuột vào nút
Save tiêu đề
- B2: Nhập tên cho truy vấn vào ô Query Name
nhấn OK
(4)2/8/2018 MS Access 2007 13
6 Xem lại nội dung/chỉnh sửa thiết kế truy vấn
Xem lại nội dung truy vấn: Kích đúp chuột vào truy vấn cần xem nội dung (hoặc kích chuột phải Open) Chỉnh sửa thiết kế truy vấn: Kích chuột phải vào truy
vấn cần chỉnh sửa thiết kế, chọn Design View, thực thao tác chỉnh sửa cần thiết
2/8/2018 MS Access 2007 14
Vấn đề khai báo giá trị, toán tử và hàm sử dụng truy vấn
Khai báo giá trị
Các chuỗi ký tự phải đặt cặp dấu “” Ví dụ: “Lam”
Các chuỗi ngày tháng năm phải đặt cặp dấu # # Ví dụ: #03/06/2009#
Các giá trị số nhập bình thường, khơng đặt cặp dấu “”
Tên trường đưa vào biểu thức cần đặt cặp dấu []
Ví dụ: [MSHS]
Các toán tử truy vấn
Các toán tử số học: +, -, *, /, \ (chia lấy phần nguyên), mod (chia lấy phần dư), ^ (lũy thừa)
Các phép so sánh: <, <=, =, >, >=, <>, is null, is not null, like, between … and …, in
Các phép toán xâu ký tự: + (ghép xâu ký tự); & (ghép xâu ký tự số, kết trả xâu ký tự)
(5)2/8/2018 MS Access 2007 17
Các hàm xử lý liệu kiểu số ABS(x) trả giá trị tuyệt đối x
SQR(x) trả giá trị bậc hai x EXP(x) trả giá trị e^x
LOG(x) trả giá trị lnx
FIX(x) trả giá trị phần nguyên x
INT(x) trả số nguyên nhỏ gần với x ROUND(x) trả giá trị làm tròn x
STR(x) chuyển số x sang dạng xâu ký tự SIN(x) trả giá trị Sin x
COS(x) trả giá trị cosin x TAN(x) trả giá trị tang x ATN(x) trả giá trị Arctan x
2/8/2018 MS Access 2007 18
Các hàm xử lý chuỗi ký tự
LEN(s) cho số kí tự xâu s
LEFT(s,n) cho n kí tự bên trái xâu s
MID(s,m,n) cho n kí tự bắt đầu tự vị trí m xâu s RIGHT(s,n) cho n kí tự bên phải xâu s
VAL(s) chuyển xâu s sang liệu số LCASE(s) chuyển xâu s thành xâu chữ thường UCASE(s) chuyển xâu s thành xâu chữ hoa TRIM(s) cắt bỏ khoảng trắng đầu cuối xâu LTRIM(s) cắt bỏ khoảng trắng đầu xâu RTRIM(s) cắt bỏ khoảng trắng cuối xâu STRREVERSE(s) đảo ngược xâu
INSTR(n,s,s1) tìm vị trí xâu s1 xâu s2 vị trí n
Các hàm ngày giờ
DATE() cho ngày hệ thống
DATE$() cho ngày hệ thống dạng xâu TIME() cho hệ thống
TIME$() cho hệ thống dạng xâu NOW() cho ngày hệ thống
DAY(t) cho ngày biểu thức t dạng ngày tháng năm MONTH(t) cho tháng biểu thức t dạng ngày tháng năm YEAR(t) cho năm biểu thức t dạng ngày tháng năm WEEKDAY(ngày) cho thứ tuần
HOUR(t) cho biểu thức t dạng phút giây MINUTE(t) cho phút biểu thức t dạng phút giây SECOND(t) cho biểu thức t dạng phút giây
Các hàm thống kê gom nhóm
(6)2/8/2018 MS Access 2007 21
Hàm lựa chọn IIF
Cấu trúc:
IIF(điều kiện, giá trị 1, giá trị 2)
Trong giá trị giá trị mà hàm trả điều kiện đúng, giá trị giá trị trả điều kiện sai
2/8/2018 MS Access 2007 22
Một số ví dụ thiết kế truy vấn với Design view
Truy vấn lựa chọn
Tạo truy vấn liệt kê thông tin: Tên khối, Tên lớp, Sĩ số lớp có sĩ số >= 40: Vào tab Create, kích vào Query Design; cửa sổ Show Table, chọn bảng nguồn KHOI, LOP; Query Type, kích chọn loại truy vấn Select; lựa chọn thơng số hình:
Truy vấn lựa chọn (tiếp)
Hiển thị kết truy vấn với tên trường mới: Cần nhập nội dụng cho trường Field theo cú pháp:
(7)2/8/2018 MS Access 2007 25
Truy vấn tạo bảng
Tạo bảng DIEMHOCKY gồm: MSHS, Hodem, Ten, MAMON, Tenmon, KThk lưu điểm thi học kỳ môn học sinh học kỳ I:
- Vào tab Create, kích vào Query Design; cửa sổ
Show Table, chọn bảng nguồn HOCSINH, DIEMKIEMTRA, MONHOC
- Vào Query Type, chọn loại truy vấn Make-Table
2/8/2018 MS Access 2007 26
Truy vấn tạo bảng (tiếp)
- Chọn thông số hình:
Thêm ghi vào bảng liệu có
Tạo truy vấn để thêm ghi vào bảng LOP với giá trị (MaLop, TenLop, Siso, MaKhoi) tương ứng (9A3, Lớp 9A3, 40, K9): Vào tab Create, kích vào Query Design; tắt cửa sổ Show Table; Query Type, kích chọn dạng truy vấn Append; cửa sổ Append, tên bảng cho Table Name, nhấn OK
Thêm ghi vào bảng liệu có (tiếp)
Chọn thông số cho truy vấn:
(8)2/8/2018 MS Access 2007 29
Nối liệu từ bảng vào bảng có cùng cấu trúc
Nối liệu từ bảng LOP2 vào bảng LOP (2 bảng có cấu trúc):
Vào tab Create, kích vào Query Design; cửa sổ Show Table, chọn bảng nguồn LOP2 cho truy vấn; vào Query Type chọn loại truy vấn Append; cửa sổ Append, chọn bảng LOP để thêm liệu
2/8/2018 MS Access 2007 30
Nối liệu từ bảng vào bảng có cùng cấu trúc (tiếp)
Ở dịng Field, chọn trường bảng LOP2 để thêm liệu vào trường tương ứng bảng LOP dịng Append (cũng chọn lúc trường bảng LOP2)
Truy vấn cập nhật
Cập nhật liệu cho bảng LOP: Cột sĩ số nhận giá trị = giá trị có – 3:
Vào tab Create, kích vào Query Design; cửa sổ Show Table, chọn bảng cần cập nhật LOP
Vào Query Type, chọn loại truy vấn Update
Chọn cột Siso cần cập nhật giá trị dòng Field Nhập biểu thức giá trị [Siso]-3 dòng Update To tương ứng
Truy vấn cập nhật (tiếp)
(9)2/8/2018 MS Access 2007 33
Truy vấn chéo
Tạo bảng thống kê điểm kiểm tra học kỳ (KThk) học sinh mã mơn tiêu đề cột Các giá trị hiển thị gồm: MSHS, HOCKY, Hodem, Ten, KThk theo môn học:
Vào tab Create, kích vào Query Design; cửa sổ Show Table, chọn bảng nguồn HOCSINH DIEMKIEMTRA
Vào Query Type, chọn loại truy vấn CrossTab
2/8/2018 MS Access 2007 34
Truy vấn chéo (tiếp)
Khai báo thơng số hình đây:
Truy vấn xóa
Tạo truy vấn để xóa ghi có mã lớp “9A3” bảng LOP: Vào tab Create, kích vào Query Design; cửa sổ Show Table, chọn bảng LOP; Query Type, kích chọn dạng truy vấn xóa Delete; lựa chọn thơng số cần thiết hình bên cạnh
Truy vấn theo tham số
(10)2/8/2018 MS Access 2007 37
Truy vấn theo tham số (tiếp)
* Khi thực truy vấn, thông báo xuất dẫn cho người dùng biết cần nhập giá trị làm điều kiện truy vấn
2/8/2018 MS Access 2007 38
Các truy vấn khác