Tải bản đầy đủ (.pdf) (43 trang)

Giáo trình microsoft office professional 2007 bài 3

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.07 MB, 43 trang )

Bài 3. Làm việc với Query
Khi bạn muốn thêm, sửa đổi hoặc xóa dữ liệu trong
Database, bạn nên sử dụng các query.
Với việc sử dụng Query, bạn có thể trả lời được rất nhiều câu
hỏi cụ thể về dữ liệu mà bạn hiện có, trong khi việc đó sẽ rất
khó khăn nếu bạn truy cập thẳng vào các bảng. Bạn có thể sử
dụng các Query để lọc dữ liệu, thực hiện những phép tính
với dữ liệu hoặc tóm tắt dữ liệu. Bạn cũng có thể sử dụng các
Query để tự động quản lý dữ liệu và xem xét các thay đổi
trong dữ liệu trước khi cho phép thực hiện những thay đổi
đó.
Một Query là một yêu cầu đến cơ sở dữ liệu và kết quả trả về
là dữ liệu hoặc hoạt động (Action) diễn ra trên cơ sở dữ liệu
đó. Bạn có thể sử dụng một Query (truy vấn) để trả lời một
câu hỏi đơn giản, thực hiện phép tính, kết hợp dữ liệu từ các
bảng khác nhau, hoặc thậm chí có thể thêm, thay đổi, hoặc
xoá các bảng dữ liệu. Các truy vấn mà bạn sử dụng để lấy dữ
liệu từ một bảng hoặc để thực hiện các phép tính được gọi là
truy vấn lựa chọn. Các truy vấn mà thêm, thay đổi, hoặc xóa
dữ liệu được gọi là truy vấn hành động.
Trong phân này chúng tôi sẽ cung cấp cho các bạn những
thông tin cơ bản về các truy vấn cùng với nó là các ví dụ về
các loại hình khác nhau của các truy vấn.
Bạn cũng có thể sử dụng truy vấn để cung cấp dữ liệu cho
một Form hoặc một Report. Một cơ sở dữ liệu được thiết kế
tốt thì dữ liệu mà bạn muốn để hiển thị lên Form hoặc Report
thường nằm ở một số bảng khác nhau. Bằng cách sử dụng
truy vấn, bạn có thể liên kết các dữ liệu mà bạn muốn sử
dụng lại với nhau trước khi đưa lên Form hoặc Report.
Chú ý: Các ví dụ trong bài này sử dụng Database Northwind
có sẵn trong Template của Microsoft Access 2007.





Để thiết lập Northwind 2007 bạn làm theo các bước sau:
Bước 1: Khởi động Microsoft Access 2007
Bước 2: Nhấp chọn nút Microsoft Office Button
chọn New.

, sau đó

Bước 3: Trong Pane bên trái, dưới mục Template Categories
chọn Local Templates




Bước 4: Trong phần Local Template chọn Northwind 2007
sau đó nhấp Create.
Bước 5: Tiếp theo trang Northwind Traders xuất hiện bạn
nhấp nút Close để đóng của sổ này lại.
3.1. Tìm kiếm một nhóm dữ liệu trong bảng
Đôi khi bạn muốn xem xét tất cả dữ liệu từ một bảng, nhưng
ở những lần khác, bạn lại chỉ muốn xem dữ liệu ở một số
trường, hoặc bạn lại muốn xem một một số trường nhưng
phải đáp ứng một vài tiêu chí nào đó, … Với những yêu cầu
như vậy bạn có thể sử dụng các truy vấn.
Giả sử bạn muốn xem xét một danh sách các sản phẩm và giá
cả của chúng. Bạn có thể tạo một truy vấn mà trả về thông tin
sản phẩm và giá cả bằng cách sử dụng thủ tục sau đây:
Bước 1: Mở Northwind 2007.




Bước 2: Trên Tab Create tìm tới nhóm Other nhấp chọn
Query Design.

Bước 3: Trên hộp thoại Show Table tìm tới Tab Tables chọn
Products rồi nhấp Add.

Bước 4: Nhấp Close để đóng hộp thoại Show Table.
Bước 5: Trên màn hình thiết kế Query tìm tới bảng Products,
nhấp đúp chuột lên hai trường là Product Name và List Price
để thêm trường đó vào lưới thiết kế Query.




Sau khi nhấp chọn hai trường trong bảng Products kết quả sẽ
được như hình dưới đây:




Bước 6: Trên Tab Design trong nhóm Results nhấp chọn Run
để chạy thử Query.

Kết quả sẽ được như hình dưới đây:





3.2. Xem dữ liệu đồng thời từ nhiều bảng
Những bảng biểu được thiết kế tốt thường mang theo các mối
quan hệ với các bảng khác. Những mối quan hệ này tồn tại
trên cơ sở các bảng có chung trường quan hệ. Khi bạn muốn
xem dữ liệu từ nhiều bảng liên quan bạn có thể sử dụng truy
vấn lựa chọn.



Giả mà bạn muốn xem xét lại đơn đặt hàng của một khách
hàng sống tại thành phố nào đó. Dữ liệu về đơn đặt hàng và
các dữ liệu về khách hàng được lưu trữ trong hai bảng trên
cùng một cơ sở dữ liệu. Mỗi bảng có một Customer_Id, và
hai bảng này quan hệ với nhau ở dạng một nhiều. Bạn có thể
tạo một truy vấn mà kết quả trả về là đơn hàng của một
khách ở ở một thành phố cụ thể nào đó, ví dụ như Las Vegas,
bằng cách thực hiện các bước dưới đây:
Bước 1: Mở Northwind 2007.
Bước 2: Trên Tab Create, trên nhóm Other, nhấp chọn Query
Design.

Bước 3: Trong hộp thoại Show Table, trên Tab Tables nhấp
đúp chuột vào bảng Customers và Orders.




Bước 4: Nhấp nút Close để đóng hộp thoại Show Table. Kết
quả sẽ được như hình dưới đây:





Chú ý: Giữa hai bảng có một đường Line kết nối giữa trường
Id của bảng khách hàng Customer Id của bảng Orders. Đây là
đường Line hiển thị mối qua hệ giữa hai bảng.
Bước 5: Trong bảng Customers, nhấp đúp chuột vào trường
Company và City để thêm những trường đó vào phần lưới
thiết kế Query.
Bước 6: Trên lưới thiết kế Query, trên cột chứa trường City,
bỏ tích chọn trên hàng Show của cột này.

Bước 7: Trên dòng Criteria của cột City, bạn gõ vào giá trị là
‘Las Vegas’.



Xóa tích chọn ở dòng Show để kết quả trả về của Query
không hiển thị thông tin này, và gõ điều kiện ‘Las Vegas’
trên dòng Criteria để kết quả trả về của Query chỉ lấy những
khách hàng ở thành phố Las Vegas.
Bước 8: Trên bảng Orders nhấp đúp vào trường Order Id và
trường Order Date để bổ xung thêm 2 trường này lên lưới
thiết kế Query. Kết quả trên lưới sẽ được hiển thị như hình
dưới đây:

Bước 9: Trên Tab Design tìm tới nhóm Results nhấp Run để
chạy báo cáo.


Kết quả Query trả về như hình dưới đây:




Bước 10: Nhấp tổ hợp phím Ctrl + S để lưu lại Query, một
hộp thoại thông báo xuất hiện bạn nhập vào tên cho Query là
Orders by city rồi nhấp Ok.

3.3. Sử dụng Parameters với Query
Đôi khi bạn muốn chạy một truy vấn mà chỉ hơi khác với
một yêu cầu tìm kiếm hiện tại. Bạn có thể thay đổi truy vấn
nguyên thủy để sử dụng điều kiện mới của bạn, nhưng nếu
bạn thường xuyên muốn chạy các biến thể của một truy vấn
cụ thể, hãy cân nhắc việc sử dụng một tham số truy vấn. Khi
bạn chạy một tham số truy vấn, truy vấn sẽ nhắc bạn điền giá
trị vào cho trường, nó sẽ sử dụng giá trị mà bạn vừa cung cấp
để tạo ra các điều kiện (Criteria) cho truy vấn của bạn.



Trong ví dụ trước, bạn đã tạo ra một truy vấn mà kết quả trả
về là những đơn hàng của những khác hàng ở thành phố Las
vegas. Bạn có thể chỉnh sửa truy vấn để thông báo cho người
dùng nhập vào thành phố cần tìm, trong khi chạy truy vấn.
Dưới đây là các bước tạo một truy vấn như vậy.
Bước 1: Mở Database Northwind 2007
Bước 2: Nhấp chọn Shutter Bar để hiển thị Pane Navigation
Bước 3: Trong Pane Navigation, nhấp phải chuột vào Query
có tên Orders by city mà bạn đã tạo ở phần trước, menu xuất

hiện chọn Design View.




Bước 4: Trong lưới thiết kế Query, ở dòng Criteria của cột
City xóa bỏ giá trị ‘Las Vegas’ nhập vào nội dung [For what
city?], chuỗi [For what city?] là nội thông báo cho
Parameters của bạn. Dấu ngoặc vuông cho thấy rằng bạn
muốn truy vấn hiển thị thông báo về Parameter cần nhập vào,
và nội dung văn bản (trong trường hợp này: For what city?)
Là một câu hỏi hiển thị trên thông báo.
Bước 5: Nhấp chọn dấu tích trên dòng Show của cột City để
hiển thị cột này trên kết quả của Query.

Bước 6: Trên Tab Design tìm tới nhóm Results, nhấp Run để
chạy thử Query.




Access sẽ hiển thị hộp thoại yêu cầu nhập vào thành phố mà
bạn muốn xem.

Bước 7: Giả sử ở đây bạn nhập New York rồi nhấp Enter
chúng ta sẽ được kết quả như hình dưới đây.

Bước 8: Nếu như bạn không muốn nhập vào đó giá trị chính
xác, để tham số có thể mềm dẻo hơn, bạn có thể sử dụng ký
tự đại diện trong chuỗi điều kiện (Criteria). Để làm được

điều này bạn thực hiện tiếp các bước dưới đây.
Bước 9: Từ Tab Home tìm tới nhóm Views chọn nút View
trên nút lệnh đổ xuống bạn chọn Design.




Bước 10: Trên lưới thiết kế Query tại dòng Criteria của cột
City bạn nhập vào nội dung dưới đây:
Like [For what city?]&"*"




Trong nội dung thông báo này, từ khóa Like, toán tử & và
dấu (*) cho phép cho phép người sử dụng gõ vào một giá trị
mà có sự kết hợp giữa các ký tự với nhau để trả về nhiều hơn
các kết quả. Ví dụ, nếu người dùng gõ vào ký tự (*), truy vấn
sẽ trả về tất cả các thành phố, nếu người sử dụng các loại L,
truy vấn sẽ tìm kiếm và trả lại tất cả các thành phố mà bắt
đầu bằng chữ "L" và nếu người dùng gõ * s *, truy vấn trả về
tất cả các thành phố mà tên chứa chữ "s".
Bước 11: Trên Tab Design tìm tới nhóm Result nhấp chọn
Run.
Dưới đây là kết quả khi bạn gõ vào ô Parameter là *.




3.4. Thực hiện tính toán trên cơ sở dữ liệu

Thông thường bạn không sử dụng bảng để lưu trữ các trường
tính toán bởi vì những giá trị đó có thể được dựa trên rất
nhiều thông tin ở các bảng khác nhau trong cùng một cơ sở
dữ liệu. Ví dụ, bảng Order Details trong Database Northwind
2007 không lưu giữ giá trị tổng con sản phẩm, bởi nó được
tính toán từ các trường Quantity, Unit Price và Discount
cũng trong bảng này.
Trong một số trường hợp, các trị tính toán sẽ trở nên không
phù hợp, lỗi thời (out-of-date), bởi vì các giá trị tạo nên nó
đã thay đổi. Ví dụ, bạn không muốn để lưu lại độ tuổi của ai
đó trong một bảng, bởi vì mỗi năm bạn sẽ cần phải cập nhật
lại những giá trị đó, thay vào đó, bạn có thể lưu trữ ngày
tháng năm sinh của người này, sau đó khi cần sử dụng bạn
chỉ cần viết một truy vấn tính ra tuổi của người đó dựa trên
dữ liệu ngày tháng năm sinh và ngày hiện tại.



Bạn sử dụng thủ tục sau đây để tính tổng con sản phầm dựa
trên dữ liệu từ bảng Order Details.
Bước 1: Mở cơ sở dữ liệu Northwind 2007
Bước 2: Trên Tab Create, tìm tới nhóm Other chọn Query
Design.

Bước 3: Trong hộp thoại Show Table, trong tab Tables, nhấp
đúp chuột chọn Order Details.

Bước 4: Nhấp Close để đóng của sổ này





Bước 5: Trên bảng Order Details, nhấp đúp chuột vào trường
Product ID để thêm trường vào cột đầu tiên trên lưới thiết kế
Query.

Bước 6: Ở cột thứ 2 trên lưới thiết kế Query, nhấp phải chuột
vào hàng Field rồi chọn Zoom.

Hộp thoại Zoom xuất hiện.




Bước 7: Trong hộp thoại Zoom, gõ vào đó nội dung dưới
đây.
Subtotal:
([Quantity]*[Unit
Price]*[Discount])

Price])-([Quantity]*[Unit

Nhấp Ok để chấp nhận giá trị.
Bước 8: Trên Tab Design chọn tới nhóm Results, rồi nhấp
Run.




Kết quả sẽ được như hình dưới đây


Bước 9: Cuối cùng nhấp Ctrl + S để lưu lại Query, trong hộp
thoại nhắc nhập tên bạn nhập vào tên cho Query là: Product
Subtotals.




3.5. Tổng hợp hoặc tính tổng dữ liệu
Khi bạn sử dụng bảng để ghi lại các giao dịch hoặc lưu trữ
dữ liệu phát sinh, tại một thời điểm nào đó bạn hoàn toàn có
thể tổng hợp, thống kê chúng ví như tính tổng hay trung
bình, …
Microsoft Office Access 2007 cung cấp một tính năng mới,
một dòng tổng cộng, cho phép bạn tổng hợp dữ liệu một cách
đơn giản trong bất kỳ Datasheet nào như Form, Query,
Report, … Hãy thử chức năng này bằng cách thêm một dòng
tổng cộng vào Query Product Subtotals mà bạn vừa tạo ở
phần trước.
Bước 1: Chạy Query Product Subtotals ở chế độ hiển thị
Datasheet View.

Bước 2: Trên Tab Home, trong nhóm Records nhấp chọn
Totals.




Một dòng mới xuất hiện phía dưới đáy của Datasheet với
dòng chữ Total ở cột đầu tiên.


Bước 3: Nhấp chọn vào Cell đầu tiên ở dòng cuối cùng của
Datasheet (dòng Total).




Vì đây là dữ liệu kiểu Text vì vậy chỉ có hai lựa chọn cho
bạn tổng hợp dữ liệu là None và Count, ở đây bạn chọn
Count.
Bước 4: Tiếp tục nhấp chọn ô ở cột thứ 2.




×