Tạo một truy vấn lựa chọn hiển thị các bản ghi giống nhau trong một bảng.. Tạo một truy vấn đơn giản Để tạo một truy vấn đơn giản, chọn Simple Query Wizard từ hộp thoại New Query, sau đ
Trang 1MS Access - Bài 22: Sử dụng Query Wizards
Trang 2Access gồm 4 loại truy vấn Wizard khác nhau, và chỉ có một nơi bạn có thể thấy tất cả các loại truy vấn đó Chọn Query từ thực đơn Insert, Access hiển thị hộp thoại New Query như hình 1.
Hình 1: Hộp thoại New Query
Chú ý rằng có 5 tùy chọn được liệt kê trong hộp thoại Tùy chọn đầu tiên (Design View) không thực sự là một truy vấn, nó cho phép bạn tạo một truy vấn từ hỗn hợp tự tạo Mục đích của 4 tùy chọn còn lại như sau:
• Simple Query Wizard Tùy chọn này cho phép bạn tạo truy vấn một cách
đơn giản nhất Wizard này giống như khi bạn kích đúp chuột vào Create Query By Using Wizard trong cửa sổ Database (hình 2)
Trang 3Hình 2: Cửa sổ Database
• Crosstab Query Wizard Tùy chọn này tạo một truy vấn Crosstab đơn giản,
đã trình bày ở đầu chương
• Find Duplicates Query Tạo một truy vấn lựa chọn hiển thị các bản ghi
giống nhau trong một bảng
• Find Unmatched Query Tạo một truy vấn mà hiển thị các bản ghi không
có mối quan hệ với bản ghi ở các bảng khác nhau (Truy vấn này dễ sử dụng khi làm việc với cơ sở dữ liệu quan hệ, một khái niệm sẽ được giới thiệu ở
chương 13, “Tìm hiểu mối quan hệ dữ liệu”)
Truy vấn bạn lựa chọn sẽ quyết định Wizard nào được sử dụng bởi Access Trong các phần sau đây, bạn sẽ học cách sử dụng ba trong 4 Wizards được đưa ra ở đây
Trang 4Tạo một truy vấn đơn giản
Để tạo một truy vấn đơn giản, chọn Simple Query Wizard từ hộp thoại New Query, sau đó kích vào nút OK Tương tự, bạn cũng có thể kích đúp chuột vào tùy chọn Create Query By Using Wizard sẵn có khi nút Queries
được lựa chọn trong cửa sổ Database Sau đó, Access hiển thị hộp thoại Simple Query Wizard như hình 3
Hình 3: Hộp thoại Simple Query Wizard
Phía bên trái hộp thoại Simple Query Wizard, bạn có thể sử dụng danh sách
xổ xuống liệt kê để xác định những nguồn nào Access nên sử dụng cho truy vấn mới Chú ý rằng, bạn có thể sử dụng nguồn là các bảng hoặc các truy vấn khác Khi cơ sở dữ liệu Customers chỉ có duy nhất một bảng (bảng Business Custormers), Access mặc định lựa chọn nó cho bạn Nếu bạn đang làm việc với cơ sở dữ liệu chứa các bảng và các truy vấn khác, bạn có thể sử
Trang 5dụng danh sách xổ xuống để thay đổi những nguồn dữ liệu mà Wizard sử dụng
Trong phần thấp hơn phía bên trái hộp thoại là danh sách của tất cả các trường được xác định tại bảng hay truy vấn đã được chọn Nếu bạn thay đổi nguồn dữ liệu trong toàn bộ danh sách (được miêu tả ở đoạn trên) thì các trường sẵn có sẽ thay đổi theo Bạn có thể sử dụng danh sách và điều khiển phía bên phải danh sách, để cho biết những trường nào bạn muốn được sử dụng vào truy vấn bạn đang tạo ra
Để minh họa cho ví dụ này, lựa chọn các trường Company Name, Address 1, Address 2, City, State, và Zip code Phải chắc chắn là sau khi chọn mỗi
trường, bạn phải kích chuột vào nút > Sau đó, Access sẽ hiển thị tên mỗi trường trong danh sách Selected Fields phía dưới bên phải hộp thoại Khi hoàn thành việc lựa chọn các trường, hộp thoại xuất hiện như hình 4
Trang 6Hình 4: Hộp thoại Simple Query Wizard sau khi lựa chọn một số trường Với các trường đã được chọn, bạn đã sẵn sàng để tiến hành bước tiếp theo
trong Wizard Kích chuột vào nút Next, Access hiển thị hộp thoại như hình
5 Đây là hộp thoại cuối cùng trong Wizard này
Trang 7Hình 5: Hộp thoại cuối cùng của Simple Query Wizard
Tại giao diện này, bạn có thể nhập một tên bạn muốn sử dụng để lưu truy vấn này Tên được gợi ý đơn giản là tên bảng mà truy vấn đã dựa vào
(Business Customers) với từ “Query” được thêm vào Truy vấn đơn giản bạn
đã tạo sử dụng hộp thoại trước có thể được sử dụng cho các nhãn thư, vì nó chỉ chứa thông tin về địa chỉ cho danh sách các khách hàng Nhập tên
Address List, sau đó kích chuột vào nút Finish Access hiển thị kết quả truy
vấn đó như hình 6
Trang 8Hình 6: Kết quả của Simple Query Wizard
Tạo một truy vấn Crosstab
Để tạo một truy vấn Crosstab, đầu tiên mở hộp thoại New Query bằng cách chọn Query từ thực đơn Insert Từ hộp thoại đó, chọn Crosstab Query Wizard và kích chuột vào nút OK Access hiển thị hộp thọa Crosstab Query
Wizard như hình 7
Trang 9Hình 7: Hộp thoại Crosstab Query Wizard
Phía trên cùng hộp thoại Crosstab Query Wizard, Access hỏi bạn lựa chọn bảng nào muốn truy vấn dữ liệu Vì cơ sở dữ liệu này chỉ có một bảng (Business Customers), Access đã lựa chọn nó cho bạn Nếu bạn đang làm việc với một cơ sở dữ liệu có chứa các bảng và truy vấn khác, bạn có thể sử dụng vùng View ở giữa hộp thoại để thay đổi nguồn dữ liệu mà Wizard đưa
ra
Phía dưới cùng hộp thoại, Wizard hiển thị cách truy vấn Crosstab đã được hoàn thành Access cập nhập trình bày này mỗi lúc bạn thực hiện thay đổi trong khi sử dụng Wizard Để chuyển sang hộp thoại tiếp theo, kích chuột
vào nút Next (Hình 8)
Trang 10Hình 8: Lựa chọn các dòng
Truy vấn Crosstab cho phép bạn xác định kết quả hiển thị theo cả hàng và cột Sử dụng Wizard, bạn nên chỉ ra những trường muốn xuất hiện trong mỗi dòng
Ví dụ, giả sử bạn muốn lập bảng về số tài khoản còn hoạt động và không còn hoạt động Trong danh sách Available Fields, bạn nên lựa chọn trường
Salesperson và kích chuột vào nút > Chú ý rằng Wizard cập nhật mẫu
crosstab ở phía dưới cùng hộp thoại
Tiếp theo, bạn nên chọn trường State và kích chuột vào nút > Tiếp tục,
Wizard cập nhật mẫu crosstab ở phía dưới hộp thoại như hình 8
Trang 11Hình 9: Truy vấn crosstab sau khi lựa chọn tiêu đề hàng
Bạn chỉ thực hiện theo Access để hiển thị những người bán hàng và State
phía bên trái của crosstab Kích chuột vào nút Next Access hiển thị hộp
thoại như hình 10
Trang 12Hình 10: Lựa chọn cột Trong hộp thoại này, Access hỏi bạn để lựa chọn những trường mà nó sẽ trình bày thành các cột Do bạn muốn truy vấn này chỉ cho biết có bao nhiêu tài khoản còn hoạt động hay không đối với mỗi người bán hàng, bạn nên
chọn trường Active Sau khi chọn trường Active, chú ý rằng Access cập nhật
theo mẫu như ở phía dưới hộp thoại Kích chuột vào nút Next để thực hiện
tiếp Access hiển thị hộp thoại như hình 11
Trang 13Hình 11: Lựa chọn các thao tác cho truy vấn
Trong hộp thoại này, Access hỏi bạn để xác định những gì bạn muốn truy vấn tính toán Tại phía bên phải hộp thoại, hộp Functions liệt kê tất cả các phép tính sẵn có khác nhau Bạn có thể thực hiện nhiều phép tính trên nhiều trường, tuy nhiên một vài sự kết hợp của các trường và các phép tính không thể thực hiện được Ví dụ, nếu bạn chọn một trường text, việc thực hiện tính trung bình không thể làm được, bạn chỉ nên thực hiện tính toán trên một trường số hoặc trường tiền tệ
Để kết thúc truy vấn này, chọn trường Company Name và chọn phép tính
Count Chú ý rằng thông tin trong vùng mẫu của hộp thoại thay đổi cùng
với lựa chọn của bạn Truy vấn sẽ tính toán cách mà các tài khoản còn hoạt động hay không (có một tên công ty cho mỗi tài khoản) có trong mỗi state cho mỗi người đai diện bán hàng
Trang 14Cuối cùng, chú ý rằng có 1 hộp chọn bạn có thể sử dụng để cho biết truy vấn cần cung cấp một tóm tắt cho mỗi dòng Với một crosstab đơn giản là chỉ có
2 cột (active hoặc inactive) thì một bản tóm tắt có lẽ không cần thiết Kích chuột vào hộp chọn để tắt bản tóm tắt Sau khi sự lựa chọn được hoàn thành,
bạn có thể kích chuột vào nút Next Access sẽ hiển thị hộ thoại như hình 12
Hình 12: Access hỏi bạn về tên truy vấn
Ở hộp thoại này, bạn hoàn thành việc tạo truy vấn và cần lưu nó lại Access hỏi bạn tên để sử dụng cho truy vấn này Với các tên cho những phần khác của cơ sở dữ liệu, bạn nên sử dụng một vài tên đã miêu tả, như Active
Account Tally Gõ tên và kích chuột vào nút Finish Access sẽ lưu truy vấn
và cập nhật danh sách truy vấn trong cửa sổ Database, sau đó mở truy vấn để hiển thị kết quả vừa làm Hình 13 hiển thị khi truy vấn được hoàn thành
Trang 15Hình 13: Kết quả của truy vấn
Khi xem tại crosstab, một trong những điều đầu tiên mà bạn chú ý rằng các
cột có đề là -1 và 0 Nhớ rằng, trường Active là một trường có kiểu dữ liệu
Yes/No, có nghĩa là Access lưu giữ giá trị trường này như một trong hai số:
-1 và 0 Như vậy, những số này cũng hiển thị trong tiêu đề Sau chương này, bạn sẽ học cách thay đổi tiêu đề bằng cách thay đổi thuộc tính kết hợp với truy vấn
Nếu bạn xem qua trường hợp lạ này trong phần tiêu đề, bạn có thể thấy rằng, crosstab cung cấp thông tin mà bạn đã yêu cầu Nó hiển thị tình trạng tài khoản trên active (Yes hoặc -1) và inactive (No hoặc 0) cho mỗi state và rep Crosstab Query Wizard rất dễ dàng cho bạn tạo truy vấn dữ liệu
Tạo một Find Duplicates Query
Bạn cũng có thể sử dụng hộp thoại New Query để tạo một truy vấn Find Duplicates, nó cho phép bạn nhanh chóng tìm kiếm một bảng có các trường
Trang 16trùng nhau Chọn Find Duplicates Query Wizard trong hộp thoại và kích chuột vào nút OK Lần lượt, Access hiển thị hộp thoại Find Duplicates
Query Wizard như hình 14
Hình 14: Hộp thoại Find Duplicates Query Wizard
Trong hộp thoại này, Access liệt kê các nguồn dữ liệu bạn có thể sử dụng cho truy vấn Thông thường, bạn sử dụng một bảng như nguồn dữ liệu
nhưng với Wizard này bạn cũng có thể sử dụng truy vấn khác nữa Bởi vì bảng Business Customers là duy nhất trong cơ sở dữ liệu Customers, Access
đã lựa chọn bảng này cho bạn Kích chuột vào nút Next để chuyển tới hộp
thoại như hình 15
Trang 17Hình 15: Chọn một trường để kiểm tra
Trong hộp thoại này, Access hỏi bạn những trường nào cần kiểm tra giá trị trùng Mặc dù không có giới hạn về số các trường bạn có thể có trong kiểm tra truy vấn, nhưng bạn cũng chỉ nên chọn những trường cần thiết để chắc chắn là không có sự trùng lặp Trong trường hợp của bảng Business
Customers, chỉ cần kiểm tra trường Company Name và Contact để xác định
nếu có sự trùng lặp
Đầu tiên, chọn trường Company Name và kích chuột vào nút > Tiếp theo, chọn trường Contact và kích tiếp vào nút > Access hiển thị hai trường theo
thứ tự trong danh sách phía bên phải hộp thoại Sau khi xác định xong các
trường, kích chuột vào nút Next Access hiển thị hộp thoại như hình 16
Trang 18Hình 16: Hiển thị thông tin thêm
Trong hộp thoại này, Access hỏi nếu bạn muốn truy vấn hiển thị thêm thông tin Khi xem lại các bản ghi trùng, bạn có thể sử dụng thông tin này nhằm giúp việc quyết định bản ghi nào muốn lưu và bản ghi nào muốn xóa Đối
với bảng Business Customers, bạn muốn Access hiển thị các trường Contact
Phone, Last Order, Salesperson Chọn một vài trường (nhớ kích nút > sau
khi chọn mỗi trường) Access thêm tên của mỗi trường vào danh sách phía
bên phải hộp thoại Khi hoàn thành, kích chuột vào nút Next, Access hiển thị
hộp thoại như hình 17
Trang 19Hình 17: Kết thúc truy vấn
Lúc này bạn đã hoàn thành việc tạo truy vấn, Access yêu cầu bạn đặt tên cho truy vấn Từ gợi ý của Wizard cho tên của truy vấn này, kích chuột vào nút
Finish để chấp nhận tên đó Access lưu truy vấn dưới tên này và cập nhật
danh sách truy vấn trong cửa sổ Database Access mở truy vấn để hiển thị kết quả vừa hoàn thành như hình 18
Hình 18: Kết quả của truy vấn Find Duplicates
Trang 20Bây giờ bạn có thể xem lại các bản ghi trùng lặp và quyết định những việc muốn làm với chúng Nếu bạn xóa bất kỳ bản ghi nào trong màn hình, Access sẽ xóa bản ghi tương ứng trong bảng phía bên dưới (Business Customers) Với lý do này, truy vấn Find Duplicates rất có ích trong việc quản lý thông tin ở bảng