Giống như loại truy vấn Make-Table, loại truy vấn Append sao chép truy vấn các bản ghi từ một bảng (hoặc từ tập hợp các bảng) tới vị trí mới. Tuy nhiên loại truy vấn này không tạo bảng mới, mà thêm các trường được xác định
Chương 4: Truy vấn (Query)
trong truy vấn vào bảng hiện có. Bạn thường dùng truy vấn này khi muốn thêm một loạt các bản ghi mới để cập nhật một bảng hoặc cơ sở dữ liệu hiện có.
Để tạo truy vấn Append, trong cửa sổ thiết kế truy vấn, ta chọn lựa trên menu Query/Append, sẽ xuất
hiện cửa sổ hội thoại Append. Trong cửa sổ Append chọn tên bảng cần bổ sung dữ liệu trong mục Table Name và chọn mục Currrent Database
nếu bảng bổ sung trong cơ sở dữ
liệu hiện hành; trong trường hợp bảng bổ sung dữ liệu không nằm trong CSDL hiện hành thì chọn mục Another Database và chọn tên tệp CSDL trong hộp File Name
Cửa sổ thiết kế truy vấn bổ sung thêm dòng Append To. Trong mục Append To, chọn các trường cần lấy kết quả bổ sung vào bảng đích (lưu ý: chọn các trường phải đúng thứ tự và kiểu như trong bảng đích).
* Tạo truy vấn thông số:
Những truy vấn trên có hạn chế là các điều kiện của truy vấn là cố định trong mỗi truy vấn. Chẳng hạn để lọc danh sách của nhân viên theo phòng, ứng với mỗi phòng ta phải chọn 1 truy vấn có cấu trúc giống nhau, chỉ khác nhau ở phòng cụ thể cần lọc. Trong phần này sẽ trình bày một truy vấn khắc phục một phần hạn chế trên. Với truy vấn lọc danh sách phòng nếu sử dụng truy vấn thông số chỉ cần lập một truy vấn và mỗi khi thi hành truy vấn ta chỉ cần nhập vào phòng cần xem.
Truy vấn thông số được xây dựng giống như cách xây dựng đã trình bày ở trên. Trong điều kiện truy vấn ở vùng Criteria, với những hằng cần gắn với thông số ta đặt vào cặp dấu ngoặc vuông []. Khi thực hiện truy vấn, Access yêu cầu nhập dữ liệu cho thông số tương ứng, nội dung trong dấu ngoặc vuông sẽ được hiển thị trên cửa sổ như một dòng thông báo. Khi đó nhập dữ liệu vào (là hằng) sẽ được thay vào ví trí của thông số và truy vấn thực hiện theo hằng cụ thể này.
Ví dụ:
Chương 4: Truy vấn (Query)
thông số xem danh sách nhân viên của từng phòng, ta thiết kế như sau (xem hình)
Khi thực hiện truy vấn thông số, sẽ xuất hiện yêu cầu nhập dữ liệu cho từng thông số (xem hình)
• Chú ý: Với truy vấn thông số, mỗi thông
số sẽ có một cửa sổ nhập giá trị khi thực hiện. Nếu trong truy vấn có nhiều thông số thì sẽ xuất hiện lần lượt từng cửa sổ ứng với mỗi thông số.
- Truy vấn thông số có thể kết hợp với mẫu biểu (Form) để nhập dữ liệu vào các thông số trên một biểu mẫu.
- Tên thông số đặt trong dấu ngoặc vuông không được trùng với tên trường của bảng làm nguồn cho truy vấn, không bắt đầu bằng khoảng trống.
* Tạo truy vấn tham khảo chéo (Crosstab Query)
Truy vấn tham khảo chéo dùng để tạo những bảng thống kê hai chiều:
+ Các dòng thống kê là nhóm cần thống kê, chẳng hạn như thống kê theo phòng.
+ Các cột là tiêu chí cần thống kê.
Ví dụ: Thống kê trình độ từng đơn vị theo mẫu
Mã phòng Số lượng TS PTS ThS ĐH CĐ TC CN …… ……. ……. …….. …….. …….. …….. …….. ……
Mỗi dòng là số lượng nhân viên có trình độ tương ứng của 1 phòng Truy vấn tham khảo chéo gồm các thành phần bắt buộc như sau:
Chương 4: Truy vấn (Query)
- Các trường dùng để phân nhóm tổng hợp theo dòng, cột. Có thể dùng nhiều trường để phân nhóm theo dòng nhưng chỉ một trường duy nhất cho phân nhóm thống kê theo cột.
- Trường dùng để lấy số liệu tính toán, thống kê. Ngoài ra còn có thể có các trường khác như: - Trường dùng để điều kiện chọn cho truy vấn.
- Các trường mà dữ liệu thống kê theo nhóm trong truy vấn.
Thao tác tạo Crosstab Query:
Trong cửa sổ thiết kế truy vấn chọn trên menu Query/Crosstab Qurey, cửa sổ thiết kế truy vấn sẽ xuất hiện hai dòng Total và Crosstab (xem hình)
- Chọn các trường cần thiết kế cho truy vấn
- Với các trường dùng để phân nhóm theo dòng hoặc cột trong mục Total chọn mục Group By
- Với các trường phân nhóm theo dòng, chọn mục Crosstab chọn mục Row
Heading chọn chức năng thống kê tương ứng : Sum, Avg,…(nếu có trường
tính toán thì chọn Expression) và chọn mục Crosstab Value.
- Với những trường dùng làm điều kiện cho truy vấn trong mục Total chọn
Where
Quy định thứ tự trong tiêu đề cột
- Các trường dùng để phân nhóm thống kê theo dòng và theo cột ngầm định được sắp xếp theo truy vấn kết quả. Trong trường hợp cần thay đổi thứ tự các cột trong truy vấn kết quả thì ta làm như sau:
Chương 4: Truy vấn (Query)
+ Trong cửa sổ thiết kế truy vấn, đặt con trỏ vào trường dùng làm phân nhóm theo cột trên menu View/Properties xuất hiện
+ Trong mục Column Heading gõ vào thứ tự các cột trong truy vấn kết quả (phải gõ chính xác dữ liệu của trường phân nhóm cột)