Transcript Truy vấn

Chương 3: QUERIES
Microsoft Access
Nội dung của chương
 Tìm
hiểu khái niệm và công
dụng của queries.
 Tìm hiểu các loại queries.
 Cách tạo một query.
Khái niệm
 Query
là công cụ cho phép
đặt các câu hỏi với dữ liệu
trong database. Sau khi thực
hiện query, dữ liệu thỏa yêu
cầu được rút ra và tập hợp
vào một bảng kết quả
Các khả năng của query
 Xem,
thay đổi, và phân tích dữ liệu
theo nhiều cách khác nhau.
Các khả năng của query
 Lấy
dữ liệu từ một hoặc nhiều
table trong database.
 Lựa chọn các field và record cần
thiết.
 Sắp thứ tự các record.
Các khả năng của query
 Thực
hiện các phép tính.
Các khả năng của query
 Làm
dữ liệu nguồn cho forms,
reports hoặc queries khác.
 Thay đổi dữ liệu trong table hoặc
tạo table mới từ các table đã có.
Các loại queries
 Select
queries
 Parameter queries
 Crosstab queries
 Action queries
 SQL queries
Select Query: Khái niệm
 Là
loại query thông dụng nhất,
dùng để:
–Lấy dữ liệu từ một hoặc nhiều
table dựa vào các điều kiện
(criteria) và trình bày dữ liệu
theo thứ tự mà ta muốn.
Select Query: Khái niệm
 Là
query thông dụng nhất, dùng
để:
–Cập nhật các record (với vài
giới hạn).
–Nhóm các record và tính tổng
cộng, đếm, tính trung bình và
các loại phép tính khác.
Select Query: Cách Tạo
Có thể tạo một query bằng cách
dùng wizard hoặc tạo ở chế độ
Design.
 Ở chế độ Design, ta chỉ định dữ
liệu sẽ hiển thị bằng cách thêm
các tables hay queries có chứa
dữ liệu đó, và sau đó kéo rê các
field vào trong lưới thiết kế.

Select Query: Cách Tạo
1.
Trong cửa sổ Database, click
Queries
trong khung Objects,
click New trên toolbar của cửa sổ
Database.
Select Query: Cách Tạo
2.
Trong hộp thoại New Query, click
Design View, click OK.
Select Query: Cách Tạo
3.
Trong hộp thoại Show Table, click
chọn table.
Select Query: Cách Tạo
4.
5.
Double-click tên của table cần
đưa vào query, click Close.
Thêm các field vào hàng Field
trong lưới thiết kế, chỉ định điều
kiện (criteria) và thứ tự sắp xếp
nếu cần.
Select Query: Cách Tạo
6.
Click View
trên toolbar để
xem kết quả.
Select Query: Cách Thực hiện

1.
2.
3.
Khi mở một query select (hoặc
crosstab) Access thực hiện query
và trình bày kết quả trong cửa sổ
Datasheet.
Trong cửa sổ Database, click
Queries trong khung Objects.
Click query muốn mở.
Click Open trên toolbar của của cửa
sổ Database.
Điều kiện để rút trích dữ liệu
Mở query ở chế độ Design.
2. Click vào ô Criteria của field cần
đặt điều kiện.
3. Nhập vào biểu thức điều kiện
(criteria expression).
1.
Ví dụ về các biểu thức

Dãy các giá trị
(>, <, >=, <=, <>, or Between...And)
Biểu thức
> 234
< 1200.45
>= “Đức"
Between #2/2/1999#
And #12/1/1999#
Kết quả
Trong field SoLuong, các số
lớn hơn 234
Trong field DonGia, các số
nhỏ hơn 1200.45
Trong field TenNV, tất cả tên
đều là Đức
Trong field NgayLapHD, các
ngày từ 2-2-99 đến 1-12-99
Ví dụ về các biểu thức

Các giá trị không bằng (Not)
Biểu thức
Kết quả
Trong field MaNV, các nhân viên có
Not “H001"
mã không phải là H001
Not T*
Trong field TenNV, các nhân viên
có tên không bắt đầu bằng chữ
“T”
Ví dụ về các biểu thức

Các giá trị trong một danh sách
(In)
Biểu thức
Kết quả
In(“TP.HCM",
“Vung
Tau")
Trong field NoiSinh, các nhân
viên sinh ở TP.HCM hoặc Vung
Tau
Ví dụ về các biểu thức

Các giá trị chuỗi (text)
Biểu thức
Kết quả
“H001”
Trong field MaNV, nhân viên có mã là
H001.
Like “S*”
Trong field TenNV, nhân viên có tên
bắt đầu bằng chữ “S”.
Like “[A-D]*”
Trong field TenNV, nhân viên có tên
từ chữ “A” đến “D”.
Ví dụ về các biểu thức

Các giá trị ngày
Biểu thức
Kết quả
#2/21/69#
Trong field NgaySinh, các nhân
viên sinh ngày 21-2-69
< Date( ) - 30
Trong field NgayGiaoHang, các
hóa đơn trễ hơn 30 ngày
Year([NgayLapHD])
= 1999
Trong field NgayLapHD, các hóa
đơn trong năm 1999
DatePart("q",
Trong field NgayLapHD, các hóa
[NgayLapHD]) = 4 đơn trong quý 4
Ví dụ về các biểu thức

Các giá trị trống (Null hoặc chiều dài
=0)
Biểu thức
Kết quả
IsNull
Trong field SoDT, các khách hàng
có field SDT là Null (trống)
Is Not Null
Trong field SoDT, các khách hàng
có field SDT chứa giá trị
Các giá trị trong biểu thức
 Giá
trị ngày: đặt giữa hai dấu #
 Giá trị chuỗi: đặt giữa hai dấu
nháy đôi
 Giá trị hằng: True, False, Null
 Các hàm (function)
 Tên field: đặt giữa hai dấu [ và ]
Một số hàm
 Ngày,
giờ
– Date()
– Day(biểu thức ngày)
– Month(biểu thức ngày)
– Year(biểu thức ngày)
– DatePart(“q”,biểu thức ngày)
Một số hàm
 Chuỗi
–Left(chuỗi, n)
–Right(chuỗi, n)
–Mid(chuỗi, m, n)
–Len(chuỗi)
Một số hàm
 Điều
kiện
–Iif(điều kiện, biểu thức đúng,
biểu thức sai)
Một số phép toán
+
*
/
> <
>= <= = <>
 In
 Between … And …
 Like
 Not, And, Or
Tạo field tính toán
1.
2.
Mở query ở chế độ Design.
Gõ biểu thức trong ô trống ở hàng
Field. Nếu biểu thức có tên field, thì
phải đặt tên field giữa hai dấu
ngoặc vuông.
Parameter Query: Khái Niệm
 Là
query khi thực hiện nó hiện ra
hộp thoại nhắc ta nhập vào điều
kiện để rút trích dữ liệu.
Parameter Query: Cách Tạo
Tạo query select.
2. Trong cửa sổ thiết kế của
query, kéo rê các field từ danh
sách field vào lưới thiết kế.
1.
Parameter Query: Cách Tạo
3.

Trong ô Criteria của field dùng làm tham
số, gõ vào lời nhắc giữa hai dấu ngoặc
vuông.
Dùng 1 tham số:
[Nhập mã nhân viên]

Dùng 2 tham số:
Between [Xem các hóa đơn từ ngày]
And [Đến ngày]

Dùng ký tự đại diện
Like [Nhập ký tự đầu tiên cần tìm:] & “*”
Parameter Query: Thực hiện


Click nút View trên toolbar để thực
hiện query.
Khi thực hiện, query sẽ hiện ra hộp
thoại nhắc ta nhập vào điều kiện
(tham số)
Crosstab Query : Khái niệm
Crosstab queries dùng để tính toán và
sắp xếp dữ liệu để ta dễ dàng phân tích.
 Crosstab queries tính tổng (sum), trung
bình (average), đếm (count) dữ liệu, dữ
liệu được nhóm theo cột và hàng.

Crosstab Query: Cách Tạo
 Có
thể tạo crosstab query bằng
wizard hoặc tạo ở chế độ
Design.
 Trong chế độ Design, ta chỉ định
field nào sẽ làm tiêu đề cột, field
nào làm tiêu đề hàng, và giá trị
của field nào dùng để cộng, tính
trung bình, đếm hoặc các phép
Crosstab Query: Cách Tạo
 Có
thể tạo crosstab query bằng
wizard hoặc tạo ở chế độ
Design.
 Trong chế độ Design, ta chỉ định
field nào sẽ làm tiêu đề cột, field
nào làm tiêu đề hàng, và giá trị
của field nào dùng để cộng, tính
trung bình, đếm hoặc các phép
Crosstab Query: Cách Tạo
1.
2.
Trong cửa sổ Database, click
Queries
trong khung Objects,
click New trên toolbar của cửa sổ
Database.
Trong hộp thoại New Query, click
Design View, click OK.
Crosstab Query: Cách Tạo
3.
4.
Trong hộp thoại Show Table, click
chọn table.
Double-click tên của table cần
đưa vào query, click Close.
Crosstab Query: Cách Tạo
Thêm các fields vào hàng Field
trong lưới thiết kế và chỉ định
điều kiện (criteria).
6. Click Query Type
trên
toolbar, và click Crosstab.
5.
Crosstab Query: Cách Tạo
7.
Đối với field dùng làm tiêu đề
hàng, click vào hàng Crosstab,
và click Row Heading. Phải để
Group By trong hàng Total của
field này.
Crosstab Query: Cách Tạo
7.
Đối với field dùng làm tiêu đề cột,
click vào hàng Crosstab, và click
Column Heading. Phải để Group By
trong hàng Total của field này.
Crosstab Query: Cách Tạo
9.
Đối với field dùng làm giá trị
trong bảng, click hàng Crosstab,
và click Value. Chỉ có một field
được đặt Value.
Crosstab Query: Cách Tạo
hàng Total của field này,
click chọn kiểu hàm tính toán
(ví dụ Sum, Avg, or Count).
10. Trong
Crosstab Query: Cách Tạo
11. Để
xem kết quả, click nút View
trên toolbar.
Action Query
Là query làm thay đổi hoặc di chuyển
các record chỉ trong một phép toán.
 Có 4 loại:
– Delete query
– Update query
– Append query
– Make-table query

Action Query: Delete Query
 Khi
dùng delete query để xóa
các record, ta không thể phục
hồi lại được (undo). Vì vậy phải
xem trước dữ liệu sẽ bị xóa bằng
cách click nút View
 Nên thường xuyên tạo bản sao
dữ liệu, trong trường hợp xóa
nhầm có thể hồi phục từ các bản
Action Query: Delete Query
 Trong
vài trường hợp, delete
query sẽ xóa các record trong
các table có quan hệ, mặc dù các
table này không có trong query.
Action Query: Delete Query
1.
2.
Tạo query có chứa table mà ta cần
xóa record.
Trong cửa sổ Design của query,
click mũi tên bên cạnh nút Query
Type
trên toolbar, và click Delete Query.
Action Query: Delete Query
Kép rê dấu sao (*) trong danh
sách field của table vào lưới
thiết kế của query. Xuất hiện
From trong ô Delete của field
này.
4. Chỉ định điều kiện xóa record
bằng cách kéo rê field cần đặt
điều kiện.
3.
Action Query: Delete Query
5.
6.
7.
Trong ô Criteria của field vừa kéo rê
vào lưới, gõ vào điều kiện.
Để xem trước các records sẽ bị
xóa, click nút View.
Click Run
để thực hiện query.
Action Query: Update Query
1.
2.
3.
4.
Tạo query có chứa table mà ta cần xóa
cập nhật.
Trong cửa sổ Design của query, click
mũi tên bên cạnh nút Query Type trên
toolbar, và click Update Query.
Kép rê dấu sao (*) trong danh sách field
của table vào lưới thiết kế của query.
Xuất hiện From trong ô Delete của field
này.
Chỉ định điều kiện xóa record bằng cách
Action Query: Update Query
6.
7.
Để xem trước các records sẽ được cập
nhật giá trị, click nút View.
Click Run để thực hiện query.
Action Query: Append Query
Tạo query có chứa table cần nối vào table
khác.
2. Trong cửa sổ Design của query, click mũi tên
bên cạnh nút Query Type trên toolbar, và click
Append Query. Hộp thoại Append xuất hiện.
1.
Action Query: Append Query
Chọn tên của table cần thêm record.
4. Nếu table trong database hiện thời: click
Current Database.
Nếu table không có trong database hiện
thời: click Another Database và gõ vào
đường dẫn của database chứa table
hoặc click nút Browse để tìm vị trí
database.
5. Click OK.
6. Kéo rê các field cần nối từ danh sách
field vào lưới thiết kế.
3.
Action Query: Make-Table Query
Tạo query gồm các tables hay queries
chứa records dùng để tạo table mới.
2. Trong cửa sổ Design của query, click mũi
tên bên cạnh nút Query Type trên toolbar,
và click Make-Table Query. Hộp thoại
Make Table xuất hiện.
1.
Action Query: Make-Table Query
3.
4.
5.
6.
7.
8.
Gõ vào tên của table cần tạo trong hộp
Table Name và click Current Database.
Click OK.
Kéo các field cần có trong table mới từ
danh sách field vào lưới thiết kế.
Gõ vào điều kiện trong ô Criteria.
Để xem table trước khi tạo, click nút
View.
Click Run để thực hiện query.