
Lập trình trực quan
22
BÀI 5. LÀM VIỆC VỚI QUERY
5.1. Khái niệm
Query là một công cụ cho phép người sử dụng thống kê số liệu, xây dựng các báo cáo tổng
hợp dưới nhiều hình thức khác nhau trên dữ liệu gốc trong Table.
Muốn làm việc được với Query trước hết ta phải có Database và Table với dữ liệu nhập vào
sẵn.
Query còn được dùng để tạo ra dữ liệu phục vụ cho các công cụ khác như Report, Form và
cho cả một Query khác.
Tùy theo mục đích khai thác ta có thể sử dụng một trong các loại Query sau :
- Select Query : cho phép chọn lựa các bản ghi, tạo thêm các vùng tính toán và trả về kết quả
là các bản ghi thỏa mãn điều kiện. Ta có thể dùng Query để thao tác trên nhiều Table cùng
lúc.
- Append Query : nối thêm dữ liệu từ các bản ghi của một hay nhiều Table vào cuối một
Table khác.
- Make-Table Query : tạo ra một Table mới từ một Dynaset (Dynamic Dataset). Cho phép
tạo các Table dự phòng, trích bản ghi để lưu trữ trước khi xóa các bản ghi này khỏi Table
hiện hành.
- Delete Query : xóa một nhóm các bản ghi từ một hay nhiều Table.
- Cross Tab Query : Query tham chiếu chéo, được dùng để tạo nhóm dữ liệu và trả về kết
quả dưới dạng một bản tính kèm theo số cộng ngang, cộng dọc. Ta thường dùng loại này
để tạo dữ liệu phục vụ cho các Report và Chart.
- Find Duplicate Query : tìm trong Table những bản ghi có giá trị giống nhau ở trên tất cả
các trường.

Lập trình trực quan
23
- Find Unmatched Query : tìm những bản ghi mà giá trị của nó không trùng với giá trị của
bất cứ một bản ghi nào trên một Table khác.
- Union Query : nối các bản ghi của hai hay nhiều Table thành một danh sách chung.
- Pass-Through Query : Query chuyển giao, dùng để gửi lệnh trực tiếp đến hệ ngôn ngữ SQL
(Structured Query Language) của ACCESS.
- Data Definition Query : sử dụng các lệnh của ngôn ngữ SQL để tạo hoặc sửa đổi cấu trúc
của một Table trong Database.
5.2. Cách tạo QUERY
Muốn tạo Query ta thực hiện qua các bước sau :
- Bước 1: trong hộp Database ta chọn nút Query , chọn New
- Bước 2: chọn kiểu tạo Query qua cửa sổ sau
- Bước 3: chọn Table phục vụ cho việc xây dựng Query qua cửa sổ sau :
• Table : để xem danh sách tên các Table đã tạo trước đó.
• Query : để xem danh sách các Query đã có.

Lập trình trực quan
24
• Both : xem danh sách cả Table và Query.
• Add : bổ sung Table hoặc Query được chọn cho việc tạo Query mới.
• Close : đóng cửa sổ chọn.
- Bước 5: thiết kế Query theo yêu cầu. Nếu muốn thay đổi loại Query thì ta chọn trên thanh
thực đơn chức năng Query sau đó chọn trọng danh sách loại Query.
- Bước 6: tùy theo từng loại Query ta có cách thiết kế riêng. Sau khi tạo Query xong ta đóng
lại và đặt tên cho Query khi máy yêu cầu.
Sau đây ta xét cách tạo một sổ Query thường được sử dụng (chỉ làm rõ cho bước 6).
5.2.1 Select Query
Sau khi chọn 5 bước trên và loại Query là Select Query màn hinh sẽ xuất hiện cửa sổ khai
báo Query như sau :
- Field : chọn tên các trường có liên quan đến điều kiện, sắp xếp hoặc cần xem.
- Table : hiển thị tên của Table mà trường được chọn trực thuộc vào nó.

Lập trình trực quan
25
- Sort : qui định việc sắp xếp tăng (Ascending) hoặc giảm (Descending) theo nó.
- Show : cho phép hiển thị nội dung của trường hay không ( : không, √ : có).
- Criteria : qui định điều kiện để lọc các bản ghi cần ghi. Nếu các điều kiện viết trên cùng
dòng này thì ngầm định là quan hệ AND nếu viết trên dòng phía dưới thì quan hệ OR
Đóng cửa sổ Select Query và ghi tên của Query cần lưu trữ lên đĩa.
Chú ý :
- Để linh hoạt khi thay đổi điều kiện của Query trong mục Criteria thay vì gõ giá trị làm
điều kiện ta nhập vào tên biến nhớ. Lúc đó mỗi khi gọi Query máy sẽ yêu cầu nhập vào giá
trị tương ứng.
Ví dụ : muốn xem danh sách sinh viên sinh vào một ngày nào đó ta đưa con trỏ về ô
Criteria của này sinh gõ [ngay sinh]. Khi gọi Query thực hiện sẽ xuất hiện cửa sổ hỏi ngày
sinh :
- Nếu muốn tính tổng theo từng bộ phận thì ta bấm phím phải của chuột và chọn Total, lúc
đó trong Query xuất hiện một dòng Total để ta qui định phương thức tính toán.
Khi bấm vào Total ta thấy xuất hiện các hàm tính toán : Sum (tính tổng), Avg (tính giá trị
trung bình), Min (tìm giá trị nhỏ nhất), Max (tìm giá trị lớn nhất), Count (đếm số lượng các giá
trị), StDev (độ lệch chuẩn của các giá trị), Var (sự biến thiên của các giá trị) và các tùy chọn
khác là : Group By (định nghĩa nhóm muốn tính toán), Expression (tạo ra một biểu thức tính
toán, Where (chỉ định điều kiện khi tính toán).
- Nếu muốn tạo ra một trường mà nội dung của nó được tính toán từ một biểu thức bất kỳ
thì ta đưa con trỏ đến cột đó viết biểu thức cần tính.
Cách viết : Tên trường : biểu thức. Ví dụ : DTB:([mon1+[mon2])/2

Lập trình trực quan
26
- Nếu muốn thay đổi thêm cho cột cần thể hiện thì ta đưa dấu chuột đến cột đó nhấn phím
phải của chuột làm xuất hiện thực đơn rồi chon Properties và qui định qua :
• Description : dòng chú thích.
• Format : qui định khuôn dạng cách thể hiện nội dung dữ liệu.
• Decimal Places : số chữ số ở phần thập phân.
• Input Mask : cách thức nhập số liệu.
• Caption : tiêu đề sử dụng thay cho tên trường.
5.2.2 Cross Tab Query
Đây là loại Query cho phép lập bảng tham chiếu chéo : tổng hợp từ một đến nhiều chỉ tiêu
theo hàng, trên mỗi hàng lại tổng hợp một chỉ tiêu khác theo cột, vùng giao nhau giữa hàng và
cột thể hiện trị số tổng hợp của một chỉ tiêu thứ ba.
Chọn Cross Tab Query, sau đó chọn tên các Table chứa số liệu để lập Query hoặc tên Query
cơ sở để tạo Query kế tiếp. Sau đó chọn Next để xuất hiện cửa sổ :

