Chương 4: Query

QUERY
Chương 4: Query
Trang 2 of 18 2
QUERY
I. Khái niệm: Query là công cụ dùng để khai thác cơ sở dữ liệu. Thông qua công
cụ Query có thể dùng để:
 Tạo ra bảng dữ liệu mới dựa tr ên các bảng đã có
 Dùng để lọc, rút trích cơ sở dữ liệu theo điều kiện nào đó
 Tạo field kết quả cần tính toán, nối các field
 Tổng hợp dữ liệu, nhóm dữ liệu c ùng nhóm với nhau
II. Các bước tạo Query:
 Bước 1: Trong cửa sổ Database -> Lớp Query -> New
 Bước 2: Chọn các table cần tham gia truy vấn (cần lấy dữ liệu)
 Bước 3: Kéo các field (tiêu đề cột) cho query thả vào dòng field trong
lưới field
 Bước 4: Đóng và lưu Query.
III. Hiệu chỉnh Query:
Trong cửa sổ Database chọn tên Query cần hiệu chỉnh rồi nhấn nút Design để mở
cửa sổ Query Designer.
Các thành phần cần hiệu chỉnh trong Query:
Dòng Chức năng
Field Chứa tên field của table/Query hoặc 01 biểu thức .
Table Tên của table hoặc Query.
Sort Sắp xếp dựa trên giá trị của field: Ascending: sắp xếp tăng dần;
Descending: Sắp xếp giảm dần hoặc để trắng (not sorted) nếu
không muốn sắp xếp. Nếu có nhiều field được chọn sắp xếp thì thứ
tự sắp xếp các field sẽ tính từ trái sang phải .
Show Đánh dấu check nếu muốn hiển thị hoặc không đánh dấu check nếu
không muốn hiển thị field trong kết quả của Query .
Criteria
Or
Điều kiện lọc các bản ghi. Nhấn menu Insert => Rows để th êm
dòng hoặc Edit => Delete Rows để xóa d òng.
IV. Làm việc với Table hoặc Query:
1. Thêm mới Table hoặc Query:
 Bước 1: Nhấn nút Show Table tr ên Toolbar
 Bước 2: Trong hộp thoại Show Table chọn Tab mà bạn cần.
 Bước 3: Chọn tên đối tượng mà bạn cần thêm ( nhấn thêm phím CTRL
để chọn các đối tượng không liên tục, phím SHIFT nếu muốn chọn 01
khối liên tục)
Chương 4: Query
Trang 3 of 18 3
 Bước 4: Nhấn nút Add để thêm rồi nhấn nút Close để đóng hộp thoại
Bạn có thể kéo tên của table hoặc Query muốn th êm từ cửa sổ databse vào
phần trên của lưới Query.
2. Xóa Table hoặc Query:
Chọn table hoặc Query cần xóa rồi nhấn phím DELETE
3. Làm việc với lưới Query( Query Design Grid)
 Thay đổi độ rộng cột: di chuyển con trỏ đến cạnh phải của cột khi nó trở
thành mũi tên hai chiều, nhấn chuột và kéo để xác định độ rộng của cột.
Hoặc nhấn đúp vào cạnh phải của cột để xác định độ rộng sao cho hiển
thị hết dữ liệu trong cột.
 Chọn cột: để chọn một cột, nhấn chột l ên cột cần chọn hay rê chuột lên
nhiều cột để chọn nhiều cột.
 Chèn thêm cột rỗng:
Đặt con trỏ vào cột hoặc chọn các cột trước cột cần chèn.
Chọn lệnh Columns của menu Insert
 Di chuyển cột:
Chọn các cột cần di chuyển
Nhấn chuột tại cột cần di chuyển rồi kéo sang vị trí mới
 Xóa cột:
Chọn các cột cần xóa
Nhấn phím DELETE
4. Làm việc với Field:
 Chèn thêm field:
Kéo tên field từ field list xuống lưới Query hoặc nhấn đúp vào tên field, bạn có
thể kéo dấu (*) để lấy tất cả các field
Nhấn thêm phím CTRL để chọn các field không liên tục, phím SHIFT nếu muốn
chọn 01 khối liên tục rồi kéo xuống lưới Query để chèn nhiều field.
Đổi tên field: Trong dòng field của lưới Query bạn đổi tên field theo cú pháp đầy
đủ như sau:
Tên field mới: [tên table/query].[tên field cũ].
Hoặc ghi ngắn gọn: Tên field mới: [tên field cũ]
Chú ý : tên field mới và tên field cũ cách nhau bởi dấu hai chấm ( : )
Tên field mới không được trùng tên với các field đã khai báo trong dòng field của
lưới query.
Chương 4: Query
Trang 4 of 18 4
 Tạo field mới từ công thức:
Cú pháp: tên field mới: Biểu thức
Tên field mới và biểu thức phân cách nhau bởi dấu hai chấm ( : )
Tên field mới không được trùng với tên field trong các table/query ngu ồn hoặc
các field đã khai báo trên dòng field của lưới Query.
Ví dụ: thanhtien:[soluong]*[dongia]
Chú ý: đối với những field có tên giống nhau tham gia trong các table hoặc
query, để truy xuất field của table hoặc query nào bạn phải ghi rõ tên của
table/query trong biểu thức theo công thức: tên table.tên field hoặc Tên
Query.Tên field nếu không Access sẽ xuất hiện câu thông báo sau:
The specified field ‘[DonGia]’ could more than one table listed in the FROM
clause of your SQL statement
5. Thay đổi thuộc tính của field:
Đặt con trò vào cột cần thay đổi thuộc tính nhấn nút properties hoặc nhấn chuột phải
vào field cần thay đổi thuộc tính và chọn mục properties
Gõ vào hay thay đổi giá trị cho thuộc tính cần ( cách l àm giống như khi khai báo giá
trị cho thuộc tính của field trong lúc khai báo cấu trúc cho table)
6. Lọc ra những bản ghi đủ điều kiện hiển thị:
Dòng Criteria và Or dùng để khai báo điều kiện lọc ra các bản ghi thỏa điều kiện
Dùng query để tìm ra những giá trị nhỏ nhất hay lớn nhất
Bước 1: Trong cửa sổ Database chọn Queries dưới mục New để tạo mới Query
Bước 2: Trong hộp thoại New Query, chọn Design View nhấn OK
Bước 3: Trong hộp thoại Show Table chọn t ên table hay Query rồi nhấn nút Add.
Nhấn nút Close sau khi đã chọn xong.
Bước 4: Kéo các field cần hiển thị ở bảng kết quả từ hộp field list xuống d òng field
gồm cả các field mà bạn cần xác định giá trị lớn nhất hay nhỏ nhất.
Bước 5: Tại dòng sort, ở ô tương ứng với field mà bạn cần xác định giá trị lớn nhất
chọn Descending hay nhỏ nhất chọn Ascending
Bước 6: Nhấn chuột vào hộp thoại Top Values trên toolbar, gõ vào một con số chỉ số
lượng bản ghi mà bạn cần ( bạn có thể thêm dấu % để hiển thị bản ghi tính theo %)
7. Thuộc tính của Query:
Để mở hộp thuộc tính của query bạn l àm các bước sau đây:
Bước 1: chọn query bằng cách nhấn chuột tại bất kỳ đâu trong query trừ l ưới query và
field list, nhấn nút Properties trên Toolbar
Bước 2: Gõ hay chọn để thay đổi giá trị cho thuộc tính cần
Top value: chỉ định số lượng bản tin sẽ hiển thị
Chương 4: Query
Trang 5 of 18 5
HẰNG, BIỂU THỨC VÀ HÀM
Cách viết các hằng:
Kiểu Hằng Ví Dụ
Numberic 123
3.145
-7
Text “Hôm nay”
“123”
“01/12/2008”
Logical True
False
Date/ Time #01/12/2008”
(thứ tự nhập liệu ngày tháng phụ thuộc vào cách quy định
ngày tháng trong Control Panel c ủa Windows)
I. Các toán tử (operator):
Các toán tử là các phép toán thực hiện trên các giá trị (gọi là các toán hạng) để sinh ra
một giá trị mới
Các phép toán số học:
Toán tử Diễn giải Ví dụ
( ) Nhóm các biểu thức (3-1)*(12/4)=6
^ Lũy thừa 3^3=27
*,/ Nhân, chia 2*5=10
10/5=2
\ Phép chia lấy phần
nguyên
14\4=3
Mod Phép chia lấy phần dư 14 mod 4=2
+,- Cộng, trừ 4+6=10
Các phép toán được thực hiện theo độ ưu tiên: (), lũy thừa, nhân và chia, lấy dư, cộng
và trừ. Nếu cùng độ ưu tiên thì được thực hiện từ trái sang phải.
Các phép toán về chuỗi:
Toán tử Diển giải Ví dụ
&, + Kết nối hai chuỗi thành một
chuỗi
“chào”+”bạn” =>chàobạn
Hoten: ho & “ “ & [ten]
Chương 4: Query
Trang 6 of 18 6
II. Các phép toán Logic:
Thực hiện trên các giá trị kiểu Logic, kết quả cũng l à kiểu logic. Xếp theo thứ tự ưu
tiên thực hiện như sau:
Toán tử Diễn giải
NOT Phép phủ định
AND Phép Và ( cho giá trị TRUE nếu tất cả toán hạng đều có giá trị
TRUE)
OR Phép Hoặc( cho giá trị FALSE nếu tất cả các toán hạng đều có giá
trị FALSE)
III. Các phép toán so sánh:
Thực hiện trên các toán hạng thuộc kiểu số, ký tự hay ng ày nhưng kết quả thuộc kiểu
logic
Toán tử Diễn giải
< Nhỏ hơn
> Lớn hơn
= Bằng
<> Không bằng
<= Nhỏ hơn hoặc bằng
>= Lớn hơn hoặc bằng
1. Toán tử LIKE:
Cú pháp: ketqua= chuỗi LIKE điềukiệnmẫu
Ý nghĩa: dùng để so sánh chuỗi với điều kiện mẫu cho trước, nếu điềukiệnmẫu có
trong chuỗi thì ketqua là TRUE ngược lại bằng FALSE. Nếu chuỗi hoặc điềukiệnmẫu
là NULL thì ketqua là NULL
Bảng ký tự đại diện thường dùng với LIKE:
Ký tự đại diện Ý nghĩa tượng trưng Ví dụ
? Một ký tự bất kỳ tại vị trí đó [Ten] like “M?nh”
* Một nhóm ký tự bất kỳ hoặc không
có ký tự nào
[Ten] like “M*”
# Là các ký số từ 0 đến 9 [Dienthoai] like “###8*”
[charlist] Ký tự bất kỳ trong danh sách
charlist
[MaloaiSP] Like “[AD]” lọc
ra các sản phẩm thuộc loại A
hoặc D
[!charlist] Ký tự bất kỳ không nằm trong danh
sách charlist
[MaloaiSP] Like “[!AD]” lọc
ra các sản phẩm không thuộc
loại A hoặc D
Chương 4: Query
Trang 7 of 18 7
2. Toán tử Between… And …
Cú pháp: expr [NOT] Between Value1 And Value2
Toán tử Between… And… cho kết quả là True nếu giá trị của biểu thức nằm trong
khoảng [ value1, value2]
3. Toán tử IN:
Cú pháp: expr [NOT] IN (value1, value2)
Cho kết quả là TRUE nếu giá trị của biểu thức nằm trong( không nằm trong) danh
sách.
4. Kiểm tra giá trị NULL:
Cú pháp: Is [NOT] NULL
Trả về kết quả là TRUE nếu kết quả của biểu thức chứa giá trị NULL
IV. Hàm trong ACCESS
Khái niệm: Hàm là một đoạn chương trình được thi hành mỗi khi được gọi và trả về
một giá trị thuộc về một kiểu dữ liệu n ào đó. Bởi vì hàm có thể nhận một hay nhiều
đối số và khi thực hiện xong nó trả về một giá trị, n ên hàm thường được dùng trong
các biểu thức để trả về giá trị tại vị trí đó. Khi gọi h àm ta sử dụng cú pháp:
Tên_hàm (|<danh sách các đối số>|)
Ý nghĩa:
Tên_hàm: cho Access biết phải thực hiện những tính toán n ào
Đối số: là dữ liệu cần cung cấp để hàm tính ra kết quả. Hàm có thể có hoặc không có
đối số, có một hoặc nhiều đối số. Hàm cho kết quả tính toán là dữ liệu thuộc một kiểu
nào đó như: chuỗi ký tự, kiểu số…
A. Các hàm xử lý chuỗi:
1. Hàm LEN:
Cú pháp: LEN(chuỗi)
Ý nghĩa: hàm trả về chiều dài của chuỗi
2. Hàm RIGHT:
Cú pháp: RIGHT(chuỗi, n)
Ý nghĩa: trích từ bên phải của chuỗi n ký tự
3. Hàm LEFT:
Cú pháp: LEFT(chuỗi, n)
Ý nghĩa: trích từ bên trái của chuỗi n ký tự
Chương 4: Query
Trang 8 of 18 8
4. Hàm MID:
Cú pháp: MID(chuỗi, m, n)
Ý nghĩa: cắt chuỗi ngay tại vị trí m và lấy ra n ký tự
Nếu không quy định n thì nó sẽ cắt từ vị trí m đến hết chuỗi
5. Hàm SPACE:
Cú pháp: SPACE(number)
Ý nghĩa: hàm cho ra một chuỗi trắng có độ dài bằng number ký tự
Ví dụ: A=”Việt”
B=”Nam”
C=A + space(1) + B => c=”Việt Nam”
6. Hàm RTRIM, LTRIM, TRIM:
Cú pháp: RTRIM(chuỗi)
LTRIM(chuỗi)
TRIM(chuỗi)
Ý nghĩa: các hàm này dùng để cắt bỏ các khoảng trắng ở bên phải, bên trái và cả hai
bên của chuỗi.
7. Hàm UCASE, LCASE:
Cú pháp: UCASE(chuỗi)
LCASE(chuỗi)
Ý nghĩa: hàm biến đổi chuỗi thành chữ hoa (UCASE) và chữ thường (LCASE)
8. Hàm ASC,CHR
Cú pháp: ASC(chuỗi)
CHR(chuỗi)
Ý nghĩa: ASC(chuỗi) => trả vể mã ASCII của ký tự đầu tiên bên trái của chuỗi
CHR(chuỗi) => trả về có mã ASCII tương ứng
Ví dụ: ASC(“a”) => 97
CHR(65) => A
9. Hàm InStr:
Cú pháp: InStr([start, ], string1, string 2)
Ý nghĩa: trả về vị trí xuất hiện của chuỗi cần t ìm string2 từ bên trái trong chuỗi
string1 kể từ vị trí thứ mấy start
Chương 4: Query
Trang 9 of 18 9
Nếu Hàm InStr trả về
String1 có chiều dài bằng 0 í
String1 có giá trị NULL NULL
String2 có chiểu dài bằng 0 Start
String2 có giá trị NULL NULL
Không tìm thấy String2 0
Tìm thấy String2 trong String1 Trả về vị trí tìm thấy
Start > String2 0
Ví dụ: InStr(“ABCDEF”,”C”) => 3
InStr(“XXPXXPXXPXXP”,”X”) => 1
InStr(4,“XXPXXPXXPXXP”,”P”) => 6
10.Hàm REPLACE:
Cú pháp: REPLACE(expression, find, replace[,[start[,count]])
Ý nghĩa: thay thế một số ký tự tìm được find của chuỗi cần tìm trong chuỗi expression
bằng ký tự tương ứng nằm trong chuỗi thay thế replace
Ví dụ:
Replace(“ABCDE”,”AB”,”XYZ”) => “XYZCDE
Chú ý: nếu chuỗi thay thế có ít ký tự hơn so với chuỗi cần tìm thì nó sẽ xóa ký tự tìm
tương ứng
B. Các hàm xử lý dữ liệu kiểu số:
1. Hàm VAL:
Cú pháp: VAL(string)
Ý nghĩa: hàm cho kết quả là 01 số từ một chuỗi ký tự số
Ví dụ: VAL(“15”) => 15
VAL(“A15”) => 0
2. Hàm INT:
Cú pháp: INT(number)
FIX(number)
Ý nghĩa: các hàm này trả về là phần nguyên của 01 số thực number
Chương 4: Query
Trang 10 of 18 10
Ví dụ: int(99,8) => 99
Fix(-99.2) => -99
3. Hàm ABS:
Cú pháp: ABS(number)
Ý nghĩa: hàm trả về giá trị tuyệt đối của 01 biểu thức
Ví dụ: ABS(10-20)=10
4. Hàm ROUND
Cú pháp: ROUND(số, trị số làm tròn)
Ý nghĩa : làm tròn số tương ứng trị số làm tròn.
Trị số làm tròn :
0: làm tròn đến hàng đơn vị
1: làm tròn lấy 01 số lẻ
2: làm tròn lấy 02 số lẻ
-1: làm tròn đến hàng chục
-2: làm tròn đến hàng trăm
-3: làm tròn đến hàng ngàn
5. Hàm STR
Cú pháp: STR(number)
Ý nghĩa: hàm này đổi dữ liệu kiểu số thành kiểu chuỗi
6. Hàm SQR
Cú pháp: SQR(number)
Ý nghĩa: hàm này trả về căn bậc hai của số number
C. Các hàm xử lý kiểu ngày tháng
1. Hàm DATE, NOW
Cú pháp: DATE()
NOW()
Ý nghĩa: cho biết ngày hiện hành của hệ thống hoặc ngày và giờ của hệ thống
Chương 4: Query
Trang 11 of 18 11
2. Hàm TIME
Cú pháp: TIME()
Ý nghĩa: cho biết giờ hiện hành của hệ thống thep định dạng: hh:mm:ss
3. Hàm TIMER
Cú pháp: TIMER*(
Ý nghĩa: trả về số giây trôi qua từ lúc nửa đ êm
4. Hàm HOUR, MINUTE, SECOND
Cú pháp: HOUR(time)
MINUTE(time)
SECOND(time)
Ý nghĩa: trả về số giờ, số phút và số giây
5. Hàm DAY, WEEKDAY, MONTH, YEAR
Cú pháp:
DAY(date): trả về ngày của ngày
WEEKDAY(date): trả về con số từ 1 đến 7 chỉ ngày trong tuần
MONTH(date): trả về tháng của ngày
YEAR(date): trả về năm của ngày
6. Hàm DATEADD:
Cú pháp: DATEADD(interval, number, date)
Ý nghĩa: hàm sẽ trả về ngày sau khi đã cộng thêm
interval Ý nghĩa Ví dụ
yyyy Số năm
q Số quý
m Số tháng
y Số ngày trong năm
d Số ngày
w Số ngày trong tuần
ww Số tuần
h Số giờ
n Số phút
s Số giây
Chương 4: Query
Trang 12 of 18 12
7. Hàm DATEPART:
Cú pháp: DATEPART(interval, date)
Ý nghĩa: hàm trả về số ngày, tháng, năm…
interval Ý nghĩa Ví dụ
yyyy Số năm
q Số quý
m Số tháng
y Số ngày trong năm
d Số ngày
w Số ngày trong tuần
ww Số tuần
h Số giờ
n Số phút
s Số giây
8. Hàm DATESERIAL:
Cú pháp: DATESERIAL(year, month, day)
Ý nghĩa: hàm trả về số ngày
Đối số Ý nghĩa
Year Năm từ 1000 đến 9999
Month Tháng
day Ngày
9. Hàm DATEDIFF:
Cú pháp DATEDIFF(interval, date1, date2)
Ý nghĩa: hàm trả về số ngày, tháng, năm… khác nhau giữa hai ngày cho trước
interval Ý nghĩa Ví dụ
yyyy Số năm
q Số quý
m Số tháng
y Số ngày trong năm
d Số ngày
Chương 4: Query
Trang 13 of 18 13
w Số ngày trong tuần
ww Số tuần
h Số giờ
n Số phút
s Số giây
10.Hàm IIF:
Cú pháp: IIF( điều kiện, giá trị 1, giá trị 2)
Ý nghĩa: hàm sẽ trả về giá trị 1 khi điều kiện đúng v à hàm sẽ trả về giá trị 2 khi điều
kiện sai
Chương 4: Query
Trang 14 of 18 14
CÁC LOẠI QUERY
I. SELECT QUERY: Là các loại query dùng để lấy dữ liệu từ 01 hay nhiều table
thỏa mãn yêu cầu nào đó.
Trong Select Query cần chú ý đến điều kiện để có thể truy xuất thông tin một
cách chính xác và tiến hành áp dùng các hàm đã học ở phía trên.
* Dùng Query để tìm ra giá trị nhỏ nhất và lớn nhất.
 Bước 1: Tạo Query thỏa mãn tất cả các yêu cầu của bài toán.
 Bước 2: Tại dòng Sort, ở ô tương ứng với field mà bạn cần xác định giá trị lớn
nhất chọn mục Descending và cần xác định giá trị nhỏ nhất th ì chọn mục
Ascending.
 Bước 3: Nhấn chuột vào hộp Top Values trên thanh Toolbar, gõ vào 01 con s ố
chỉ số lượng mẫu tin mà bạn cần hiển thị ( gõ thêm dấu % để hiển thị số lượng
mẫu tin được tính theo %)
*Truyền tham số từ bàn phím vào Query:
Khai báo tham số:
 B1: Tạo select query, chọn các field cần thể hiện.
 B2: Tại vị trí cần đặt tham số gõ vào tên tham số (tên tham số cần truyền phải
nằm trong hai dấu [ ])
 B3: Xem kết quả thực hiện
 B4: Gõ vào giá trị cho tham số rồi nhấn nút OK
Khi bạn mở query, Access sẽ hiện thô ng báo cho phép bạn nhập giá trị cho tham số
truyền. Bạn hãy nhập giá trị và nhấn OK.
Khai báo kiểu dữ liệu của tham số:
Nếu kiểu của tham số mà bạn cần truyền không phải l à dạng TEXT thì bạn phải thực
hiện các bước sau đây:
 B1:Chọn menu Query, chọn lệnh Parameters.
 B2: Trong cột Parameter, gõ vào tên tham số mà bạn đã gõ trong cửa sổ thiết
kế Query (phải gõ thật chính xác tên tham số)
 B3: Chọn kiểu dữ liệu thích hợp cho tham số trong cột Data Type
 B4: Nhấn nút OK để đóng hộp thoại Query Parameters
II. TOTAL QUERY: Query dùng để phân nhóm và tổng hợp dữ liệu theo nhóm.
*Các bước tiến hành:
 Bước 1: Tạo Select Query, thêm các table/ query có những record mà
bạn cần tổng hợp.
Chương 4: Query
Trang 15 of 18 15
 Bước 2: Khai báo các field cần phân nhóm, tổng hợp dữ liệu, tạo các cột
dùng làm điều kiện giới hạn điều kiện hiển thị nếu có.
 Bước 3: Nhấn nút Total trên thanh Toolbar. Khi đó Access sẽ hiện thêm
dòng Total ở lưới Query.
 Bước 4: Chọn mục Group By ở d òng Total cho field hoặc các field mà
bạn cần phân nhóm ( thứ tự phân nhóm thực hiện từ trái qua phải nếu
bạn có nhiều field để phân nhóm.
 Bước 5: Đối với các field tổng hợp dữ liệu, ở d òng Total bạn chọn một
trong các kiểu tổng hợp
 Bước 6: Nhập vào điều kiện giới hạn bản ghi ở dòng Criteria hoặc Or
nếu field của bạn chỉ dùng làm điều kiện giới hạn, nhưng không được
hiển thị trong kết quả của Query. Do đó bạn phải chọn mục WHERE
trong dòng Total, Access tự động không đánh dấu check v ào mục Show,
bạn cũng không được đánh dấu check vào mục Show khi field nào làm
điều kiện.
 Bước 7: Sắp xếp dữ liệu nếu bạn cần.
 Bước 8: Xem kết quả và lưu Query.
* Các hàm tổng hợp dữ liệu
AVG(select_item): trả về gí trị trung bình của các field kiểu số.
COUNT(select_item):đếm giá trị trong field nhưng không đếm giá trị NULL
COUNT(*): đếm số dòng của kết quả
MIN(select_item): trả về giá trị nhỏ nhất của các field số
MAX(select_item): trả về giá trị lớn nhất của các field số
SUM(select_item): trả về tổng của các field kiểu số
stDev(select_item): trả về độ lệch chuẩn theo nhóm
VAR(select_item):trả về phương sai theo nhóm
Các hàm khác:
FIRST(select_item):trả về giá trị đầu tiên trong nhóm
LAST(select_item):trả về giá trị cuối cùng của nhóm
*Các mục khác:
GROUP BY:dùng để phân nhóm dữ liệu
EXPRESSION:dùng để tạo các field tính toán nếu như bạn đã dùng các hàm tổng
hợp trong biểu thức tại dòng field
WHERE: dùng để chỉ định field này không tham gia vào việc phân nhóm dữ liệu mà
chỉ dùng làm điều kiện giới hạn dữ liệu mà thôi.
Chương 4: Query
Trang 16 of 18 16
III. CROSSTAB QUERY: loại truy vấn dùng để tóm lược dữ liệu và trình bày kết
quả theo dạng như một bảng tính. Crosstab cũng có thể thống kê một khối
lượng dữ liệu lớn và trình bày đơn giản hơn do đó thường sử dụng để so sánh
dữ liệu.
*Các bước thực hiện:
Muốn tạo một truy vấn tham khảo chéo chúng ta phải xác định đ ược 3 yếu tố
chính: Trường làm tiêu đề cột ( Duy nhất 1 trường), trường làm tiêu đề hàng ( Có thể
nhiều trường), trường tính giá trị (Duy nhất 1 trường).
*Cách tạo
Tạo truy vấn chọn và đưa các bảng vào tham gia truy vấn
Đưa các trường vào vùng lưới QBE
Chọn Query/Crosstab
Quy định trường làm tiêu đề cột
Tại hàng Total: Bắt buộc chọn phép toán Group by
Tại hàng Crosstab: Chọn Column heading
Quy định trường làm tiêu đề hàng
Tại hàng Total: Ít nhất một trong các trường phải chọn phép toán Group by
Tại hàng Crosstab: Chọn Row heading
Quy định trường tính giá trị
Tại hàng Total: Chọn phép toán thích hợp
Tại hàng Crosstab: Chọn Value
IV. QUERY HÀNH ĐỘNG: Truy vấn hành động giúp người sử dụng tạo bảng mới
hay sửa đổi dữ liệu trong các bảng. Có 4 loại truy vấn h ành động:
Truy vấn tạo bảng (Make table query): Tạo bảng mới từ một bảng hay nhiều
bảng đã tồn tại dữ liệu.
Truy vấn cập nhật (Update query): Dùng để cập nhật dữ liệu cho một hoặc
nhiều truờng trong bảng dữ liệu.
Truy vấn xoá (Delete query):Xoá các bản ghi thoả mãn các điều kiện từ một
hay nhiều bảng dữ liệu.
Chương 4: Query
Trang 17 of 18 17
Truy vấn nối (Append query): Nối một số bản ghi từ một hoặc nhiều bảng dữ
liệu vào sau một hoặc nhiều bảng dữ liệu khác.
Truy vấn tạo bảng
Truy vấn tạo bảng sẽ tạo ra một bảng mới bằng cách rút các bản ghi tho ã mãn
các điều kiện nào đó.
Cách tạo truy vấn
Để tạo truy vấn tạo bảng chúng ta tạo truy vấn chọn v à đưa bảng vào tham gia
truy vấn. Đưa các trường vào vùng lưới QBE
Chọn query/ make table query
Trong mục Table name: Đặt tên mới cho bảng muốn tạo.
Chọn Current Database: CSDL hiện thời
Another Database: Tạo bảng trong CSDL khác.
Chọn các điều kiện (Nếu có).
Truy vấn xoá
Truy vấn xoá giúp chúng ta loại bỏ các bản ghi thoả m ãn một số điều kiện nào
đó
Cách tạo truy vấn
Để tạo truy vấn xoá chúng ta tạo truy vấn chọn v à đưa bảng vào tham gia truy
vấn.
Chọn query/ Delete query
Trong vùng lưới QBE tại hàng Field chọn các trường cần so sánh với điều kiện
xoá
Tại hàng Delete: Chọn phép toán Where
Tại hàng Criteria: Chọn điều kiện xoá
Ví dụ:
Tạo truy vấn để xoá những sinh vi ên có matruong là "SP"
Truy vấn cập nhật
Chương 4: Query
Trang 18 of 18 18
Truy vấn này dùng để cập nhật giá trị hoặc sửa đổi giá trị của các tr ường trong
bảng dữ liệu.
Cách tạo truy vấn
Tạo một truy vấn chọn và đưa bảng vào tham gia truy vấn
Chọn Query/Update query
Tại hàng Field: Chọn trường cần cập nhật dữ liệu
Tại hàng Update to: Chọn Biểu thức cần tính giá trị
Tại hàng Criteria: Chọn điều kiện (nếu có).
Truy vấn nối dữ liệu
Truy vấn nối dữ liệu dùng để nối dữ liệu từ một bảng này vào sau một bảng
khác.
Cách tạo truy vấn
Tạo truy vấn chọn và đưa bảng dữ liệu vào để nối với bảng khác tham gia truy
vấn.
Chọn Queries/Append query
Trong mục Table name: Chọn bảng cần nối v ào và chọn OK.
Chọn Current Database: CSDL hiện thời
Another Database: Tạo bảng trong CSDL khác.
Trong vùng lưới QBE của truy vấn tại hàng Field:
Đưa các trường của bảng gốc vào.
Trong hàng Append to: Đưa các trư ờng tương ứng của bảng cần nối và đặt điều
kiện nếu cần thiết.
 Chú ý
Trong truy vấn nối dữ liệu thì các trường được nối với nhau tương ứng phải
cùng kiểu dữ liệu. Nếu các trường tương ứng không có cùng kiểu dữ liệu thì sẽ không
được nối. Nếu các trường có Field size không phù hợp thì tuỳ theo việc nối dữ liệu
mà sẽ cắt bớt hoặc thêm vào ký tự trắng.
 
---------------------------------------------------------------------------------------thanh Navigation (2 mục) ---------------------------------------------------------------------------------------thanh Navigation (2 mục)