Lưới QBE trong cửa sổ mẫu hỏi (Query Design) Access: các hàng và công dụng

Trả lời nhanh

Trong lưới QBE (Query By Example) của cửa sổ mẫu hỏi ở chế độ thiết kế của Access có các hàng: Field (tên trường), Table (tên bảng chứa trường), Sort (sắp xếp), Show (hiển thị hay ẩn trường), Criteria (điều kiện lọc) và or (điều kiện thay thế). Mỗi cột của lưới ứng với một trường dùng trong mẫu hỏi.

Lưới QBE là gì?

QBE là viết tắt của Query By Example, nghĩa là “truy vấn theo mẫu”. Khi tạo mẫu hỏi (Query) ở chế độ thiết kế (Design View), em không phải gõ câu lệnh mà chỉ cần điền thông tin vào một cái lưới ở nửa dưới cửa sổ. Access sẽ tự chuyển những gì em điền thành câu lệnh truy vấn.

Nửa trên của cửa sổ chứa các bảng (hoặc mẫu hỏi) làm nguồn dữ liệu, nửa dưới chính là lưới QBE. Mỗi cột của lưới là một trường, mỗi hàng có một vai trò riêng như bảng dưới đây.

Công dụng từng hàng trong lưới QBE

Hàng Công dụng
Field Khai báo tên trường được dùng trong mẫu hỏi: trường để hiển thị, trường để đặt điều kiện hoặc trường để sắp xếp. Có thể là trường mới tính toán (trường tự tạo bằng biểu thức).
Table Cho biết trường ở cột đó thuộc bảng (hoặc mẫu hỏi) nào. Hàng này quan trọng khi dùng dữ liệu từ nhiều bảng.
Sort Chọn cách sắp xếp các bản ghi kết quả theo trường đó: Ascending (tăng dần) hoặc Descending (giảm dần).
Show Ô đánh dấu quyết định trường có xuất hiện trong kết quả hay không. Bỏ dấu chọn thì trường chỉ dùng để lọc hoặc sắp xếp, không hiện ra.
Criteria Nhập điều kiện lọc bản ghi. Chỉ những bản ghi thoả điều kiện mới có mặt trong kết quả.
or Các hàng điều kiện bổ sung. Điều kiện ở hàng này được hiểu là “hoặc” với điều kiện ở hàng Criteria.

Cách Access hiểu các điều kiện

  • Cùng một hàng, khác cột: các điều kiện được nối bằng AND (phải thoả đồng thời).
  • Khác hàng (Criteria và or): các điều kiện được nối bằng OR (thoả một trong các hàng là được).

Mẹo nhớ: “Ngang là VÀ, dọc là HOẶC”. Nhìn theo hàng ngang thì ghép bằng AND, còn xếp chồng xuống các hàng thì ghép bằng OR.

Ví dụ minh hoạ

Giả sử bảng HOC_SINH có các trường HoTen, Lop, Toan, Van (đây là ví dụ tự đặt). Em muốn liệt kê học sinh lớp 12A có điểm Toán từ 8 trở lên, sắp xếp theo điểm Toán giảm dần, chỉ hiện HoTen và Toan.

  1. Hàng Field: HoTen | Lop | Toan.
  2. Hàng Table: HOC_SINH ở cả ba cột (Access tự điền khi em chọn trường).
  3. Hàng Sort: ở cột Toan chọn Descending.
  4. Hàng Show: đánh dấu ở HoTen và Toan, bỏ dấu ở Lop.
  5. Hàng Criteria: cột Lop gõ “12A”; cột Toan gõ >=8.

Vì hai điều kiện nằm trên cùng một hàng nên kết quả là học sinh lớp 12A và có Toán ≥ 8. Nếu chuyển >=8 xuống hàng or thì ý nghĩa đổi thành: học sinh lớp 12A hoặc học sinh có Toán ≥ 8 (ở lớp nào cũng được).

Một số cách viết điều kiện hay gặp

  • Văn bản đặt trong dấu nháy kép: “Hà Nội”. Access thường tự thêm dấu nháy khi em rời khỏi ô.
  • Khoảng giá trị: Between 7 And 9, hoặc >=7 And <=9.
  • Mẫu ký tự: Like “Nguyễn*” (họ Nguyễn), dấu * thay cho chuỗi bất kỳ.
  • Trường chưa có dữ liệu: Is Null; có dữ liệu: Is Not Null.
  • Ngày tháng đặt trong dấu #, ví dụ >=#01/09/2008# (tuỳ định dạng ngày của máy).

Lỗi sai thường gặp

  • Bỏ dấu Show của trường cần xem: kết quả thiếu cột, em tưởng mẫu hỏi sai.
  • Đặt hai điều kiện “và” ở hai hàng khác nhau: kết quả thành “hoặc”, ra nhiều bản ghi hơn mong đợi.
  • Nhầm Sort với Criteria: Sort chỉ đổi thứ tự bản ghi, không loại bản ghi nào.
  • Gõ điều kiện văn bản vào trường kiểu số hoặc ngược lại làm báo lỗi không khớp kiểu dữ liệu.

Luyện tập

Câu 1. Muốn dùng trường Lop để lọc nhưng không in ra kết quả, em làm gì?
Đáp án: Nhập điều kiện vào hàng Criteria của cột Lop và bỏ dấu chọn ở hàng Show.

Câu 2. Muốn lấy học sinh có Toán >= 9 hoặc Văn >= 9, em đặt điều kiện thế nào?
Đáp án: Ở cột Toan gõ >=9 trên hàng Criteria; ở cột Van gõ >=9 trên hàng or (khác hàng nên là OR).

Câu 3. Hàng nào cho biết trường thuộc bảng nào?
Đáp án: Hàng Table.

Tóm tắt

Hãy nhớ thứ tự các hàng: Field – Table – Sort – Show – Criteria – or. Field chọn trường, Table cho biết nguồn, Sort sắp xếp, Show quyết định hiển thị, Criteria và or đặt điều kiện lọc. Nắm vững quy tắc “ngang là AND, dọc là OR” là em xử lý được hầu hết câu hỏi về lưới QBE.

Câu hỏi thường gặp

Lưới QBE nằm ở đâu trong Access?

Lưới QBE nằm ở nửa dưới cửa sổ thiết kế mẫu hỏi (Query Design). Nửa trên hiển thị các bảng hoặc mẫu hỏi làm nguồn dữ liệu.

Hàng Show trong lưới QBE dùng để làm gì?

Hàng Show có ô đánh dấu để quyết định trường có hiển thị trong kết quả hay không. Bỏ dấu thì trường vẫn dùng được để lọc hoặc sắp xếp nhưng không hiện ra.

Điều kiện đặt ở hàng Criteria và hàng or khác nhau thế nào?

Các điều kiện cùng một hàng được nối bằng AND, còn điều kiện ở các hàng khác nhau (Criteria và or) được nối bằng OR.

Hàng Sort có những lựa chọn nào?

Hàng Sort có Ascending (sắp xếp tăng dần), Descending (giảm dần) hoặc để trống nếu không sắp xếp theo trường đó.