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

ChƯƠng IV: QUERY-TRUY VẤN DỮ LIỆU

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 (486.63 KB, 24 trang )

Microsoft Access 2000

Ch

Ch-¬ng 4: Query

ng IV:

QUERY-TRUY V N D

LI U

4.1. Gi i thi u:
Query là công c cho phép truy v n và x lý d li u, rút trích
hi n th nh ng
thông tin c th t các Table và thay
i d li u b ng nhi u cách khác nhau. Kh n ng
lý truy v n là m t b c quan tr ng trong vi c xây d ng ng d ng.
Query là công c khá
c tr ng c a Microsoft Access, giúp b n nêu ra và áp
ng các yêu c u truy v n s li u trên DBMS
xem, s a và phân tích hay t ng h p s
li u d i nhi u hình th c khá phong phú.
th c hi n Query, b t bu c ph i có
Database và bên trong ó ã có m t hay nhi u Table. S li u thì
c l u trên Table,
còn Query là công c
tìm và nhìn s li u d i nhi u góc
khác nhau, và có th khi
nhìn s li u qua Query, b n th c hi n các thao tác s a ch a thì các s a ch a ó l i có
hi u l c ng c l i lên trên nh ng Record c a chính các Table ã tham gia s d ng. Khi


cho th c hi n m t Query, Microsoft Access thu th p các s li u t các Table khác nhau
nh m áp ng yêu c u v n tin c a b n, trong m t
n v g i là “dynaset” (dynamic
dataset) ngh a là d i hình th c m t b s li u “s ng ng”, ph n nh tình tr ng s li u
hi n th i và khi b n
u ch nh s li u trên dynaset thì
ng th i s li u t các Table
ng
c s a i theo.
Query còn
c dùng t o ra ngu n s li u c s cho các công c khác nh :
Form, Report, k c query khác, th m chí t o ra m t Table khác. V i nh ng thông tin
a ch n
c c a Query, c ng có th tr c ti p in ra gi y, áp ng yêu c u cao h n
Table m t m c. Cùng m t l ng s li u nh nhau trong các Table, ai nhu n nhuy n
n trong vi c thi t k và khai thác Query thì ng i ó th ng. Table ví nh
ng v n,
Query là kh n ng kinh doanh trên
ng v n ó, không bi t kinh doanh c t v n là cái
ch c.
4.2. Các lo i Query thông d ng
4.2.1. Select Query (Query ch n s li u)
Select Query là lo i Query
c s d ng ph bi n nh t. Nó nh n d li u t m t
hay nhi u Table và hi n th k t qu trong m t datasheet và
ó b n có th c p nh t
record v i m t s h n ch nh t nh. B n có th s d ng Query
nhóm nh ng record
i và th c hi n tính t ng (SUM), m (COUNT), trung bình c ng (AVERAGE) và m t s
phép tính t ng h p khác.

4.2.2. Delete query (Query xóa s li u)
Xóa m t nhóm các record t m t hay nhi u Table. Ví d : b n có th s d ng
Delete Query
xóa tên nh ng sinh viên n h c phí ho c nh ng sinh viên có trung bình
ng
m hai h c k liên ti p nhau d i 4.
i v i delete Query, b n có th gi i h n
vi c xóa c a mình trong m t ph m vi nào ó.
4.2.3. Update query (Query c p nh t s li u)
Dùng
thay i ng lo t nhi u record trong m t ho c nhi u Table. Ví d : b n
có th t ng
m c a m t s sinh viên nào ó.
4.2.4. Append query (Query n i s li u)
i thêm nhi u record t vào ph n cu i m t hay nhi u Table.
4.2.5. Make-table query (Query t o ra Table)
o ra m t Table m i t m t hay nhi u table.
c dùng vào m c ích t o các
Table d phòng, trích rút các record t m t ho c nhi u Table
l u tr tr c khi xóa
các record này kh i các Table hi n hành.
4.2.6. CrossTab Query (Query tham chi u chéo).

Trung t©m Tin häc

Trang

28



Microsoft Access 2000

Ch-¬ng 4: Query

t nhóm s li u theo ch ng lo i và hi n th s li u d i hình th c c a m t B ng
tính kèm theo s c ng ngang và c ng d c. Lo i này r t thích h p cho t o s li u c s
cho các báo bi u (report) và
th (Chart).
4.3. M t s thu t ng
Query Wizard: Là t o Query v i s h tr c a Microsoft Access. Thông th ng
sau khi thi t k Query b ng Query Wizard b n ph i chuy n sang ch
Design View
thi t k l i cho phù h p v i nhu c u c a b n.
Design From Scratch: Cách thi t k này th ng
c dùng cho nh ng ng i khá
thành th o Microsoft Access. Trong tài li u tôi ch t p trung vào cách làm này.
Parameter Query:
u có m t Query mà khi thi hành ph i nh n
c các giá tr
thông s
t o ra k t qu tùy theo thông s ó thì g i là Parameter Query. Các Query
dùng vào b t k m c ích nào (nh Select Query, Append Query, Delete Query,...) n u
có nh n thông s , u có c tính Parameter Query. Các thông s này
c xem nh là
nh ng giá tr ch a th xác nh vào lúc thi t k ,
c ghi d i d ng m t tên bi n.
Ví d : B n mu n li t kê nh ng sinh viên có ngày sinh trong kho ng th i gian
nào ó, t ngày m y n ngày m y, b n ghi Between [Ngay Sinh Tu:] And [Den Ngay]
dòng Criteria d i c t NGAY c a b ng Query. Các t h p [Ngay Sinh Tu:], [Den Ngay]
là nh ng bi n dùng

trao thông s vào lúc thi hành.
Action Query: Là lo i Query mà khi thi hành, không hi n th m t k t qu nào trên
màn hình, mà âm th m làm m t vi c gì ó trên Table, ví d s a s li u (Update Query),
xóa s li u (Delete Query), n i thêm record vào Table (Append Query), t o Table m i
(Make Table Query). M t Action Query c ng có th
c trao thông s tr c khi ch y.
4.4. Vài hình nh v Query
4.4.1. Select Query: Là lo i Query thông d ng nh t, dùng
ch n s li u t
t hay nhi u Table th a tiêu chu n ch nh, và hi n th k t qu ó theo m t trình t
ng do ta ch nh.
Ví d 1: T Table Products và Table Suppliers, trích ch n thành Query Products
and Suppliers và k t qu hi n th theo c t Product Name:

Khi ch y Query, Microsoft Access rút
trích các m u tin th a mãn
u ki n
quy nh
..và
hi n th
theo
th t
ch nh

Ví d 2: B ng Query sau ây nêu thêm tiêu chu n ch n l a cho c t Supplier ph i
là “Pavlova, Ltd” ho c “Exotic Liquids”:

Trung t©m Tin häc

Trang


29


Microsoft Access 2000

Ch-¬ng 4: Query
Danh sách các Field
trên Table hay Query.

liên h c a các b ng
th hi n qua m i n i.

T o query b ng cách ch n
table và/ho c query, xác
nh m i liên h , ch n field
t danh sách, ch nh cách
p x p,
a ra tiêu chu n
ch n l a.
Các Field ch n, cách
p x p th t và tiêu
chu n.

Ví d 1: M t Crosstab Query

CrossTab
Query

4.4.2. CrossTab Query cho

bi t các tr t ng h p s li u (t ng tr ,
l t, s trung bình, tr cao nh t
hay th p nh t,...)
Ví d bên c nh là k t qu c a m t
CrossTab Query
i chi u v i m t
Select Query, nó t p h p 3 dòng
Buchanan thành m t dòng, 3 dòng
Callahan thành m t dòng

Select
Query

Ch n field b ng cách
rê t danh sách và th
vào l i thi t k .

giai

n thi t k và k t qu :

Ch nh
các t p h p
i m c này.
T p h p theo
dòng

p h p theo c t

c ích

ph p

Ví d 2: Select Query ch n s li u không k t nhóm, Select Query có k t nhóm và
CrossTab Query:

Trung t©m Tin häc

Trang

30


Microsoft Access 2000
Select query không k t nhóm: T p h p
li u t nhi u Table và s p th t

Ch-¬ng 4: Query

Select query có k t nhóm:
ng h p s li u theo nhóm.

L p b ng tham
chi u chéo d ng
Pivot Table theo
hàng và c t.

4.5. CÁC THÀNH PH N C B N TRONG TRUY V N
4.5.1. H ng: Là i l ng không thay i trong quá trình tính toán.
a. H ng s : Bao g m t t c các s : 10, 50, 1254.56, .....
b. H ng chu i, ký t : Là t p h p các ký t

c t trong d u ngo c kép (“ “)
Ví d : “Trung Tâm Tin H c i H c An Giang”
c. H ng ngày: Là d li u ki u ngày
c t trong c p d u #......#
Ví d : #08/10/1977#, #05/06/1979#
4.5.2. Ki u:
t ki u d li u là t p h p các giá tr mà m t bi n thu c ki u ó nh n
và m t t p h p các phép toán có th áp d ng trên các giá tr ó.

c

4.5.3. Bi n: Ch ng trình qu n lý các d li u t m thông qua tên bi n. M i bi n t ng
ng v i m t ki u d li u nh t nh. Khi vi t m t bi n thì ta ph i t trong c p d u ngo c
vuông: [Tên Bi n]
Có hai lo i bi n:
1. Bi n tr ng: Có th hi u nh là bi n n i. Khi tên bi n gi ng nh tên tr ng
trong các b ng thì Access hi u ó là bi n tr ng. Giá tr c a bi n tr ng là giá tr t ng
ng c a tr ng trong Table.
Chú ý: Khi có nhi u tên tr ng gi ng nhau trong các Table thì ta ph i ch rõ bi n
tr ng ó c a Table nào theo cú pháp nh sau: [Tên Table]![Tên bi n]
Ví d : [SINHVIEN]![HOTEN] ho c [GIAOVIEN]![HOTEN]
2. Bi n tham s : Có th hi u nh là bi n ngo i, khi tên bi n không gi ng b t c
tên tr ng nào trong CSDL thì Microsoft Access hi u ó là bi n tham s . Giá tr c a bi n
tham s
c nh p vào t bàn phím. Ví d : Trong Query có ch a bi n tham s và khi
thi hành Query này thì Microsoft Access hi n th lên h p h i tho i “Enter Parameter
Value” i m c ích là yêu c u ta nh p giá tr cho bi n tham s ó.
Ví d : Trong Query có bi n tham s : [Nganh Nao:].
Khi thi hành, Query s hi n th ra h p tho i Enter
Parameter Value

ta nh p giá tr cho bi n.

Trung t©m Tin häc

Trang

31


Microsoft Access 2000

Ch-¬ng 4: Query

Chú ý: Khi nh p giá tr t bàn phím vào,
Access m c nhiên hi u giá tr ó có ki u Text,
u này có th d n n vi c tính toán sai. Do v y
trong tr ng h p ta mu n báo cho Microsoft
Access hi u giá tr mà ta nh p vào thu c ki u d
li u khác thì ta ph i quy nh l i. Trình t làm nh
sau:
1. R_Click
vào vùng thi t k
ch n
Parameter ho c vào menu Query\Parameter.
p tho i xu t hi n nh bên c nh.
2. Nh p tên bi n vào c t Parameter và ch n
ki u d li u cho bi n trong c t Data Type.
3. L p l i b c 2 cho các bi n khác. Click
OK.
4.5.4. Bi u th c (expression): Là t p h p các toán t và toán h ng và k t qu tr v là

t giá tr duy nh t. Có 2 lo i bi u th c:
1. Bi u th c logic: Là bi u th c mà k t qu tr v là True ho c False, th ng
thì bi u th c logic
c dùng làm
u ki n trong vùng Criteria
2. Bi u th c tính toán
c (Calculated Field): Là m t tr ng (Field)
c
nh ngh a trong Query và hi n th k t qu d i m t d ng khác c a d li u ã
c l u tr . Giá tr
c thay i m i khi giá tr trong bi u th c thay i. Bi u th c
tính toán
c không ph i là bi u th c logic. Lo i bi u th c này
c nh p vào
dòng Field theo cú pháp: Nhãn:Bi u th c.
4.5.5. Các ký t
i di n:
i di n cho m t ho c nhi u ký t ngay v trí nó xu t hi n. Do
y, ta có th dùng ký t
i di n
làm
u ki n trích l c ho c tìm ki m mà không c n
chính xác tên chu i. Ký t
i di n
c dùng khi b n ch bi t m t ph n giá tr mu n tìm.
Ký t
Công d ng
Ví d
Wh* t ng
ng v i

*
i di n cho m t s ký t b t k .
what, white, và why,..
B?ll t ng
ng v i
?
i di n cho m t ký t b t k
ball, bell, và bill
B[ae]ll t ng
ng v i
i di n cho m t ký t xu t hi n trong
ball và bell nh ng không
[]
p d u ngo c []
th là bill
B[!Ae]ll t ng
ng v i
i di n cho m t ký t b t k không xu t
bill và bull nh ng không
[!]
hi n sau d u !
th là bell
i di n cho m t ký t trong kho ng. B n
B[a-c]d t ng
ng v i
ch nh vùng theo th t t ng d n (t A
bad, bbd, và bcd
n Z nh ng không th t Z n A)
1#3 T ng
ng v i

#
i di n cho m t s
103, 113, 123
Chú ý:
- Ký t
i di n th ng
c s d ng trong tr ng h p d li u c a b n có ki u
Text. ôi khi b n có th s d ng nó v i nh ng d li u có ki u khác ch ng h n nh d
li u ki u Date (ngày) nh ng b n ph i qui nh l i môi tr ng trong Control Panel
(Regional Settings)
- Khi b n dùng ký t
i di n
tìm m t d u *, d u ?, d u #, d u [ ho c d u - thì
n ph i
t nh ng thành ph n này trong c p d u ngo c []. Ví d :
tìm ki m d u
ch m h i, b n ph i ánh [?] trong h p tho i tìm ki m. N u nh b n tìm d u - ho c
nh ng ký t khác cùng x y ra m t lúc, b n ph i t d u - tr c ho c sau t t c nh ng ký
Trung t©m Tin häc

Trang

32


Microsoft Access 2000

Ch-¬ng 4: Query

khác bên trong c p d u ngo c []. (Tuy nhiên, n u nh b n có d u ! phía sau d u [, lúc

này b n ph i t d u [ phía sau d u !). N u nh b n ch tìm d u ! ho c d u ] b n không
n ph i t chúng trong c p d u ngo c []
- B n không th tìm c p d u ngo c [] cùng m t lúc b i vì Microsoft Access hi u ó
là chu i r ng.
4.5.6. Toán t :
1. Toán t s h c
Toán t
Cú pháp - Ý ngh a
Ví d
+, -, *, / C ng, tr , nhân, chia
^
y th a.
2^3 =8, 3^3^3=27
\
Chia l y ph n nguyên
7\2 = 3
Mod
Chia l y ph n d
7 mod 2 = 1
2. Toán t logic
Cú pháp - Ý ngh a
Ví d
Toán t
=, <>
B ng, khác
>, >=
L n h n, l n h n ho c b ng
<, <=
Nh h n, nh h n ho c b ng
Cú pháp: BT1 AND BT2 AND ..

(1>3) And (2<8): False
(1<3) And (9>7): True
- V i BT1, BT2,… là các bi u th c logic.
- Ý ngh a: Cho k t qu là True n u t t c
AND
các bi u th c logic BT1, BT2, ... là True,
ng c l i hàm cho k t qu là False.
Cú pháp: BT1 OR BT2 OR BT3 OR ...
(1>3) Or (2<8): False
- V i BT1, BT2, .... là các bi u th c logic. (1<3) or (9>7): True
Ý ngh a: Cho k t qu là Flase n u t t
OR
các bi u th c logic BT1, BT2, ... là
False, ng c l i hàm cho k t qu là True.
Not (3>9)=True
- Cú pháp: Not BT
NOT
- Ý ngh a: Cho k t qu là True n u BT có Not ((2>1) And (1<9))=False
giá tr False, và ng c l i.
3. Toán t logic
Toán t
Cú pháp - Ý ngh a
Ví d
“C S ” & “ Tin H c” & “ 39
ng
3/2” ( “C S Tin H c 39
ng
&
Ghép chu i
3/2”

- Cú pháp: <BT> Like <m u>
"aBBBa" Like "a*a"
True
- Trong ó: BT: Bi u th c "F" Like "[A-Z]"
True
chu i; <m u>: Là m t chu i ký "F" Like "[!A-Z]"
False.
có th bao g m c ký t
i "a2a" Like "a#a"
True.
di n.
Like
"aM5b" Like "a[L-P]#[!c-e]"
- Ý ngh a: Cho k t qu là True.
True n u <BT> tho
mãn "BAT123khg" Like "B?T*"
True.
<m u>, ng c l i cho k t qu
"CAT123khg" Like "B?T*
False
False
Cú pháp:
4 Between 2 And 9
True
<BT> Between GT1 And GT2 10 Between 1 And 3
False
- Trong ó: BT là bi u th c, #08/10/1977#
Between
GT1, GT2 là các giá tr
#01/10/1977# And #05/06/1979#

Between
- Ý ngh a: Cho k t qu là True
True n u giá tr c a BT n m
trong kho ng GT1
n GT2,
ng c l i cho k t qu là False
Trung t©m Tin häc

Trang

33


Microsoft Access 2000

In

Format

Is Null
Is Not
Null

Ch-¬ng 4: Query

Cú pháp:
3 In (1,2,4,3,6)
True
- BT in(GT1, GT2, GT3,....)
5 In (1,2,3,9)

False
- Trong ó: BT là bi u th c,
GT1, GT2 là các giá tr .
- Ý ngh a: Cho k t qu là True
u giá tr c a BT n m trong
kho ng các giá tr GT1, GT2,
GT3,.., ng c l i hàm cho k t
qu là False
- Format (1234.6455,"#,###.###")= 1,234.646
- Cú pháp: Format ( x,n)
- Trong ó x là s , n ki u nh - Format (1234.64558,"#,###.##")= 1,234.65
- Format (1234.64558,"#,###.#")= 1,234.6
ng hi n th s
- Ý ngh a: Cho k t qu là s - Format (1234.64558,"#,###")= 1,235
hi n th theo ki u nh d ng n
(t ng t nh hàm làm tròn
trong Excel)
Cho k t qu là True n u giá tr c a m u tin t i m t tr ng là r ng,
ng c l i hàm cho k t qu là False
Cho k t qu là True n u giá tr c a m u tin t i m t tr ng không
ng, ng c l i hàm cho k t qu là False

Vùng l

i QBE

Vùng ch a các table
ngu n

4.6. T o truy v n ch n s li u (Select query)

Microsoft Access cung c p hai ph ng ti n
truy v n:
- Truy v n b ng l nh c a ngôn ng SQL.
- Truy v n b ng ví d QBE (Query By Example)
Tài li u này chúng ta ch t p trung vào công c truy v n b ng QBE.
Ta t o m t Query theo yêu c u nh sau:
Hãy li t kê các khách hàng ã tham gia trong các phi u xu t và tr giá c a t ng phi u ó
thông tin g m: TENKH, TRGIA, THUE.
Ta có c a s thi t k nh sau:

Xem Query k t q a sau khi thi t k
Trung t©m Tin häc

Trang

34


Microsoft Access 2000

Ch-¬ng 4: Query

hai table ngu n HOADON và DMKH (vi c xác nh Table ngu n nào là l thu c vào
ng câu h i c th ) ta t o ra Query ích tên PHIEUXUAT(TENKH, TRIGIA,
THUESUAT), nhìn vào c a s thi t k ta có các nh n xét sau:
Tên Field c a query ích là:
- Tên c a field ngu n, ví d nh : TENKH.
- Tên t m i, cách t TENMOI:BIEUTHUC, ( t tên field gi ng nh ph n t tên
trong ph n t o table).
Ví d : THUESUAT:[THUE] (THUESUAT là Tên field m i, k

n là d u “:”, sau cùng
là bi u th c ch g m 1 field [THUE]).
Ta th y field LOAIHD tham gia trong thi t k query
làm
u ki n cho ta bi t Phi u
nào là phi u Xu t, nh ng khi xem k t q a thì không hi n c t này là do t i dòng Show
ta cho n .
4.6.1. Các thành ph n c b n trong Query c a s QBE
- Vùng l i QBE: Ch a các tr ng (c t) c a các b ng mà truy v n mu n th
hi n d li u (t ng
ng v i các m nh
WHERE, ORDER BY, danh sách các c t
ho c bi u th c mà truy v n mu n hi n th trong câu l nh SELECT). Chi ti t các dòng
trong vùng l i QBE g m có:
Dòng
Ý ngh a
Field
Th hi n các field (c t) c a b ng ích
Table
Tên b ng t ng ng c a c t
Cho phép s p x p th t c t t ng Ascending
Sort
ho c gi m d n Descending.
Show
Hi n ho c n
c t này.
Bi u th c mu n l c trong truy v n. N u ghi
u ki n trong cùng
Criteria
t dòng thì t ng ng toán t logic AND, ng c l i n u ghi

u ki n khác dòng nh ng cùng c t thì là toán t logic OR.
- Vùng ch a các b ng ngu n: N i ch a các b ng d li u ngu n cho m t truy
n (t ng
ng v i m nh
FROM trong câu l nh SQL).
4.6.2. T o query ch
Design View ây là d ng select query)

Trung t©m Tin häc

Trang

35


Microsoft Access 2000

Ch-¬ng 4: Query

1.
c 1: T
a s
Database Click ch n ng n
Query, Click New. Khi ó xu t
hi n h p h i tho i New
Query,
n ch n Design
View và click OK.
2.
c 2: Xác nh các

table/query ngu n.
Trong h p tho i Show Table,
n ch n các table/query
ngu n và click Add
a
vào vùng ch a các b ng.
Click Close
óng h p tho i
Show Table. Thông th ng
u các b ng ã
c t o
quan h trong c a s quan h
thì khi
a vào trong truy v n
chúng v n còn gi nguyên
quan h này. Tuy nhiên lúc
chèn các b ng vào m t truy
n thì có m t s tr ng h p
Microsoft Access t o quan h
cho các b ng n u các b ng
này ch a
c t o quan h
trên c a s quan h bên
ngoài.
3.
c 3: T o các field m i cho Query.
Ch n các c t s hi n th trong truy v n b ng cách: Kéo chu t c a các c t t
ng xu ng vùng l i QBE ho c D_Click t i c t ó ho c ch n tên c t trong
danh sách các c t t i dòng Field trong vùng l i QBE (xem l i 4.6)
4.

c 4: Thi t l p các
u ki n và thu c tính c a field, query (xem 4.7.3
– 4.7.4).
d ng các thành ph n trong vùng l i QBE trên các c t
t o truy v n có
p x p d li u (dòng Sort-n u s p x p nhi u dòng s
u tiên s p x p t trái
sang ph i); l c d li u (dòng Criteria); hi n th d li u hay không (dòng Show).
5.
c 5:
u query (File\Save).
Thí d :
o truy v n hi n th danh sách các hóa n theo th t t ng d n c a s hóa n
và mã khách hàng thu c Kho 3 và Kho 10. Các thông tin hi n th g m có: SOHD (S
hóa
n), NGAYHD (Ngày hóa n), LOAIHD (Lo i Hóa
n), MAKH (Mã khách hàng),
TENKH (Tên khách hàng), DIACHIKH
a ch khách hàng), MAKHO (Mã kho),
TENKHO (Tên kho), DIACHIKHO
a ch kho hàng), TRIGIA (Tr giá hóa
n).
Query
c thi t k theo yêu c u trên ch
Design có d ng nh sau:

Trung t©m Tin häc

Trang


36


Microsoft Access 2000

Ch-¬ng 4: Query

Trong ó:
Các thông tin cho truy v n này c n có là các c t: SOHD, NGAYHD, LOAIHD ,
TRIGIA
m trong b ng HOADON; MAKH, TENKH, DIACHIKH n m trong b ng
DMKH; MAKHO, TENKHO, DIACHIKHO n m trong b ng DMKHO.
Trong thí d trên c t MAKHO s d ng
so sánh l c ra các hóa
n thu c
Kho 3 (KH3) và Kho 10 (KH10) (chúng ta ghi trên hai dòng khác nhau
t o ra
toán t OR).
u ý:
- Thông th ng khi m t c t xu t hi n trong vùng l i QBE mà không hi n th ra
ngoài thì nó ch
c s d ng v i hai m c ích: S p x p d li u ho c ghi
u ki n l c
li u cho truy v n.
- Ký t sao (*) i di n cho t t c các c t trong m t b ng.
4.7. M t s thao tác trên Query
4.7.1. M t s thao tác c b n
a. Xem tr c k t qu và th c hi n m t Query
Xem tr c k t qu : Click nút Datasheet View
View.

Th c hi n truy v n: Click nút Run

ho c vào View\Datasheet

ho c vào Query\Run.

u ý:
Nên xem tr c k t qu truy v n tr c khi cho th c hi n truy v n i v i các lo i
truy v n (action query) làm thay
i giá tr d li u nh : Update Query, Append
Query, Delete Query, Make - Table Query.
u mu n quay l i ch
thi t k khi ang ch y ho c xem tr c k t qu m t
truy v n, b n click nút Design View
ho c vào View\Design View.
b. Thêm ho c xóa các b ng trong khi t o Query b ng QBE
Trong quá trình th c hi n m t Query, n u c n l y thông tin c a các c t trên m t
ng nào ó mà b ng này l i ch a
c chèn vào vùng ch a các b ng c a truy v n
QBE thì chúng ta ph i chèn thêm b ng ó vào. Ng c l i, n u m t b ng n m trong vùng
ch a các b ng c a truy v n mà không có s d ng n a (truy v n không c n n thông
tin c a b ng này) thì chúng ta s lo i b nó ra kh i truy v n.
Thêm b ng
1. Trong c a s thi t k QBE ta m h p tho i Show Table: Click vào nút Show
Table
; ho c click ph i vào vùng ch a các b ng và ch n Show Table; ho c vào
Query\Show Table.
2.
a các table (b ng) c n thêm vào (xem 4.6.2).
Trung t©m Tin häc


Trang

37


Microsoft Access 2000

Ch-¬ng 4: Query

Xóa m t b ng trong truy v n:
- Cách 1: Ch n b ng mu n xóa r i nh n phím Delete ho c ch n Query\Remove
Table.
- Cách 2: Click ph i vào b ng mu n xóa, ch n Remove Table.
c. Chèn thêm dòng tên b ng (Table) vào vùng l i QBE
ôi khi m t truy v n òi h i ph i c n d li u trên nhi u b ng khác nhau. Tuy
nhiên, gi a các b ng này có th có các c t trùng tên nhau. Do ó,
th y
c c t th
hi n trên vùng l i QBE là c a b ng nào thì chúng ta nên chèn dòng tên b ng (Table)
vào vùng l i QBE.
Cách hi n/ n c t Table: View\Table Names ho c click ph i vào vùng l i, ch n
Table Names.
d. Chèn thêm c t vào vùng l i QBE: Insert\Columns
Trong quá trình t o Query, có th mu n chèn thêm m t c t m i n m tr c c t
hi n hành ho c có th hi n t i trong vùng l i QBE không còn m t c t tr ng nào
t o
thêm các c t m i cho truy v n thì chúng ta ph i th c hi n chèn thêm m t c t vào truy
n.
e. Xóa c t trong vùng l i QBE

Ch n c t c n xóa r i nh n phím Delete ho c vào Edit\Delete.
4.7.2. T o các c t tính toán
c ho c m t bi u th c trong truy v n.
Trong m t truy v n ngoài th hi n các c t d li u s n có trong các b ng, chúng ta
còn có th t o các c t m i
c tính toán t các c t có s n b ng cách xây d ng các
bi u th c tính toán.
Các toán t : +, -, *, /,.. và các hàm tính toán: YEAR, MONTH, DATE, DAY, IIF,…
c dùng
xây d ng các bi u th c c n thi t.
Ví d : T o query th hi n các hóa
n v i các thông tin: S hóa
n, Ngày hóa
n, Lo i Hóa
n, Tháng l p hóa
n (không hi n th ngày và n m).
Query ch
Design View: (d li u ngu n l y t b ng HOADON)

Xây d ng Calculated Field:
t con tr t i c t mu n t o Calculated Field. Sau
ó nh p bi u th c vào theo m t trong các cách sau:
- Cách 1: Nh p bi u th c vào v trí
con tr
- Cách 2: Dùng công c Expression
Builder: R_Click ch n Build, ho c
Click nút Build
ho c nh n
m
h p

tho i
Ctrl+F2
Expression Builder.
bi u th c tính toán có liên quan n
Field c a table ngu n thì ta ghi nh
sau:
[TÊN_TABLE]![TÊN_FIELD]
Sau ó nh p bi u th c vào khung
tr ng và click OK sau khi nh p xong.
n có th chèn các Field, Control
u khi n), hàm (Function), h ng
Trung t©m Tin häc

Trang

38


Microsoft Access 2000

Ch-¬ng 4: Query

(Constants),... có s n vào bi u th c
ng cách hi n th các
i t ng
mu n chèn và click úp vào nó.
u ý:
cho Query có th hi n th k t qu ngay lúc ch n, t t c nh ng thành ph n
trong bi u th c (ch ng h n nh Field) ph i có m t trong các Table ho c Query tham gia
Query hi n t i. (Ví d : Tháng hóa

n: Month( [HOADON]![NGAYHD] ): Ta tham chi u
n tr ng NGAYHD trong Table HOADON tuy nhiên ta có th b tên c a table
[HOADON] (n u nh trong table ngu n có 2 field [NGAYHD] n m trên 2 table khác nhau
thì b t bu c ta ph i vi t tên Table [HOADON] kèm theo).
- N u b n s d ng m t tr ng (Field) ho c
u khi n (Control) nào ó t Form
ho c Report thì b n ph i thi hành Form ho c Report ó tr c, n u không Query s hi u
ó nh là m t bi n tham s và b n ph i nh p giá tr cho tham s này khi thi hành query.
d ng d ng này trong tr ng h p t Form b n truy n nh ng giá tr m t
u khi n
(Control) nào ó cho Query.
4.7.3. M t s thu c tính c a c t trong Query
Thông th ng khi ta s d ng bi u th c tính toán
c (Calculated Field) trong
Query, ôi khi giá tr th hi n không úng nh ta mong mu n,
thay i l i cách hi n
th ta ph i quy nh l i thu c tính c a chúng. B c làm nh sau:
t con tr t i c t mu n t thu c tính.
- View \Properties ho c R_Click ch n Properties ho c Click bi u t

ng

trên

thanh công c Query Design.
- Trong h p tho i Field Properties, t l i thu c tính cho c t (n u c n), bao g m:
+ Description: Mô t c t.
+ Format: nh d ng d ng d li u th hi n trong c t.
+ Input Mask: M t n nh p li u.
+ Caption: Tiêu

c t (xu t hi n ch
Datasheet View ho c Run).
Ví d : Mu n th hi n c t NGAYHD trong Query theo d ng mm/dd/yyyy (tháng
/ngày /n m) và tiêu
c t là Ngày hóa
n thì chúng ta nh d ng thu c tính
Format t i c t này nh sau:

4.7.4. Thu c tính c a Query.
qui nh l i thu c tính c a Query, R_Click vào vùng tr ng trong c a s thi t k
Query và ch n Properties.

Trung t©m Tin häc

Trang

39


Microsoft Access 2000

Ch-¬ng 4: Query

Ý ngh a c a m t s thu c tính nh sau:
- Top Values: T ng s record s
c
hi n th khi thi hành Query.
- Unique Values: Có hai l a ch n:
+ Yes: N u có nhi u giá tr trùng nhau
thì s hi n th m t giá tr duy nh t.

+ No: Hi n th t t c các giá tr
- Unique Records: Có hai l a ch n:
+ Yes: N u có nhi u record trùng nhau
thì s hi n th m t record duy nh t.
+ No: Hi n th t t c các record
Chú ý: Hai thu c tính Unique Values và
Unique Records không th
ng th i là Yes.
4.7.5. Quy nh thu c tính liên k t trong các Table/Query tham gia Query.
Trong m t s tr ng h p
hi n th k t qu c a Query theo úng nh nhu c u
a b n, ngoài vi c nh thu c tính liên k t (Join Properties) trong c a s liên k t
(Relationships), b n có th
nh l i thu c tính liên k t gi a các Table ho c Query tham
gia truy v n. B c làm nh sau:
- R_Click vào s i dây liên k t mu n thay i và ch n Join Properties ho c D_Click
vào s i dây liên k t. S xu t hi n h p h i tho i Join Properties g m 3 l a ch n:

a ch n 1: Ch n l a này ch l y nh ng record có
li u c a vùng liên k t
c hai Table.
a ch n 2: Table bên trái l y h t các record, Table bên ph i ch l y nh ng
record mà
li u c a vùng liên k t có m t trong Table bên trái.
a ch n 3: Table bên ph i l y h t các record, Table bên trái ch l y nh ng
record mà
li u c a vùng liên k t có m t trong Table bên ph i.
- Ch n Option mong mu n và click OK.
Ví d : Trong h p tho i trên, n u b n ch n 1 thì s hi n th nh ng Kho hàng cùng
xu t hi n

c 2 table DMKHO và HOADON, n u ch n 2 lúc này s hi n th t t c
nh ng kho có trong Table DMKHO và nh ng kho có liên quan trong Table HOADON,
u ch n 3 thì s hi n th t t c nh ng kho trong Table HOADON và nh ng kho bên
Table DMKHO có liên quan.
4.7.6. L u Query: Th c hi n t ng t nh
i v i Table
Tóm l i:
t c nh ng ph n v a trình bày trên u n m trong khuôn kh c a vi c thi t
m t Select Query. N u b n thi t k t
c m t Select Query hoàn ch nh thì b n s d

Trung t©m Tin häc

Trang

40


Microsoft Access 2000

Ch-¬ng 4: Query

dàng chuy n chúng thành nh ng d ng Query khác (Update Query, Append Query,
Delete Query, Make - Table Query).
4.8. Truy v n nhóm d li u (Group)
4.8.1. Ý ngh a
d ng truy v n
tính toán d li u theo t ng nhóm có tính ch t t ng c ng,
th ng kê t ng h p s li u mà không quan tâm n chi ti t s li u bên trong c a t ng
dòng.

4.8.2. Các b c th c hi n:
- B n thi t k t tr c m t Select Query
- View \Totals ho c R_Click vào vùng l i QBE ch n Totals ho c bi u t ng
trên thanh công c Query Design (khi ó trong vùng l i QBE có thêm dòng Total).
- S d ng các hàm tính toán t i dòng Totals
th c hi n các phép toán cho các
t trong truy v n.
Hàm
Ý ngh a
Group By
Nhóm d li u trên các c t
Avg
Tính trung bình c ng cho các c t có ki u d li u s
Sum
Tính t ng các c t có ki u d li u s
Count
m s giá tr khác r ng
Min
Tìm giá tr nh nh t
Max
Tìm giá tr l n nh t
First
Tìm giá tr
u tiên
Last
Tìm giá tr cu i cùng
Expression
Bi u th c tính toán t các c t d li u khác trong b ng
Where
u ki n l c d li u cho truy v n

Ví d :
- Yêu c u: T o query tính t ng tr giá c a các hóa
n nh p và xu t m i kho
hàng.
- Query ch
Design View:

- K t qu th c hi n:

Trung t©m Tin häc

Trang

41


Microsoft Access 2000

Ch-¬ng 4: Query

Trong ví d trên t i c t MAKHO, TENKHO, LOAIHD ta s d ng m nh
Group
By trong dòng Total
nhóm d li u theo MAKHO, TENKHO, LOAIHD và c t Tong Tri
Gia s d ng hàm Sum trong dòng Total
tính t ng tr giá c a các hóa
n xu t ho c
nh p trong cùng
t kho.
Chú ý:

- Th ng trong truy v n nhóm tiêu
c a các c t th c hi n phép tính: Sum,
Count, First, ... s do Microsoft Access t o ra v i tên là Sumof, Countof, ...
thay i
tên, ta có hai cách: (1) Ghi tiêu
m i ngay trên c t ( ví d trên TONG TRI GIA ) ho c
(2) Ghi vào thu c tính tiêu
(Caption) c a c t trong b ng thu c tính c a c t.
- N u trên dòng Field ta có s d ng m t s hàm nào ó ch ng h n nh : SUM, IIF,
... thì t i dòng Total t ng ng c a ta ph i ch n là Expression.
- N u m t c t nào ó có s d ng
u ki n trong dòng Criteria thì dòng Total t ng
ng ph i là Where và không cho hi n th k t qu (t t d u t i dòng Show)
4.9. T o các Query hành ng (Action Query)
u ý:
i v i các Query hành ng là lo i query làm thay
i d li u c a table
ngu n b n nên xem tr c k t qu và sau ó m i cho thi hành th c s lo i query này có
t q a khi ta ti n hành Run
4.9.1. Update Query (Query c p nh t s li u)
Trong quá trình nh p li u, vi c thay i s li u là
u không th tránh kh i. Vi c
thay i d li u cho m t hay hai record thì
u này ta không quan tâm cho l m nh ng
u chúng ta thay i ng lo t hàng tr m ho c hàng ngàn record thì công vi c này th t
n th i gian và r t d x y ra sai sót. Chính vì lý do ó ta dùng Update Query
thay i
li u ng lo t trên m t hay nhi u Table.
i v i Update Query b n có th :
- Gi i h n s thay i giá tr

m t s record nào ó b ng cách ch nh t i dòng
u ki n (Criteria).
- L y d li u t m t b ng khác (t t c các b ng c n d li u ph i có m t trong truy
n)
o Update Query:
1. Trong ng n Query, click vào New ho c vào Insert\Query và ch n Design View.
2. Ch n b ng có d li u c n c p nh t.
3. Query \Update Query.
Lúc này vùng l i QBE i khác i: (1) M t dòng Sort và dòng Show và (2) Xu t
hi n dòng Update To. Vi c thay i giá tr c a m t Field nào ó b ng cách ch n Field
trên dòng Field và giá tr m i
c thay th
c ch nh t i dòng Update To. Ngoài ra
n có th gi i h n vi c c p nh t b ng cách t
u ki n t i dòng Criteria.

Trung t©m Tin häc

Trang

42


Microsoft Access 2000

Ch-¬ng 4: Query

Ví d 1: C p nh t
tr ng DIENGIAIHD trong
table HOADON thành

Hóa
n Nh p hay Hóa
n Xu t tùy thu c vào
lo i hóa
n là Nh p hay
Xu t.

Ví d 2: C p nh t tr ng TRIGIATANG trong Table HOADON b ng 1.1*TRIGIA
i v i các hóa
n xu t trong tháng 01 n m 1999.

4.9.2. Delete Query (Query xóa s li u)
d ng lo i Query này khi ta mu n xóa nhi u dòng trong m t hay nhi u b ng th a
mãn
u ki n
a ra. B n ph i c n th n v i lo i Query này vì d li u không th ph c
il i
c sau khi xóa.
o Delete Query:
1. Th c hi n nh select query tuy nhiên thêm các thao tác sau.
2. Vào Query \Delete Query. Màn hình thi t k Delete Query c ng t ng t nh
Select Query nh ng có thêm dòng Delete.
3. L n l t rê các tr ng sau vào vùng l i:
- Tr ng có d u * b ng có m u tin c n xóa. Dòng Delete c a c t này s
xu t hi n t From.
- Các tr ng dùng
l p
u ki n l c. T Where s xu t hi n trong dòng
Delete c a các tr ng này.
4. Chuy n sang ch

Datasheet View
xem tr c các m u tin s b xóa tr c
khi th c hi n Query
xóa các m u tin này.

Trung t©m Tin häc

Trang

43


Microsoft Access 2000

Ch-¬ng 4: Query

Ví d : Xóa nh ng khách hàng
có a ch
C n Th t b ng
DMKH.

Chú ý:
- N u nh ng Table liên k t v i nhau theo quan h m t - nhi u (One - To - Many) và
có qui nh thu c tính Cascade Delete Related Records thì khi b n xóa nh ng Record
bên u One thì t t c nh ng Record có quan h bên u Many s b xóa. B n ph i th t
n th n v i thao tác này vì khi nh ng Record b xóa thì không th
c ph c h i và vi c
xóa này
c th c hi n m t cách t
ng và không có m t s c nh báo nào.

- T t c nh ng Table/Query tham gia trong Delete Query ph i
c liên k t v i
nhau. N u chúng ch a
c liên k t v i nhau thì b n có th t o liên k t gi a chúng ngay
trong c a s thi t k Query.
4.9.3. Append Query (Query n i s li u)
Là lo i query
c dùng
thêm d li u vào m t b ng. D li u
c thêm vào có
th
c l y t m t b ng khác ho c
c nh p tr c ti p t bàn phím khi thi hành query.
o Append Query:
1. Trong ng n Query, Click vào New ho c Insert\Query, ch n ti p Design View.
2. N u c n l y d li u t m t b ng có s n thì b n thêm vào t h p tho i Show
Table, n u không b n óng h p tho i Show Table l i và sang b c k ti p.
3. Ch n Query\Append Query
m h p tho i Append. Trong h p tho i này, b n
ch table c n n i thêm s li u và click OK.

4. Khi ó trong vùng l i QBE xu t hi n thêm dòng Append To. Trong vùng l i,
n t các tr ng; ho c các giá tr ; ho c bi n tham s mu n thêm vào t i dòng Field và
các tr ng mu n thêm s li u t i dòng Append To.
+ N u b n ghi giá tr c th thì khi thi hành Query nó s nh n giá tr ó, lúc nào
ó b n mu n thêm giá tr khác thì b n ph i nh p l i giá tr m i. Cách này th ng không
c s d ng.
+ N n b n s d ng bi n tham s thì khi thi hành Query thì nó s yêu c u b n
nh p giá tr vào và nh ng giá tr này s
c n i vào Field

c ch nh trong dòng
Append To t ng ng.

Trung t©m Tin häc

Trang

44


Microsoft Access 2000

Ch-¬ng 4: Query

+ N u b n s d ng m t tr ng nào ó c a Table ngu n thì Microsoft Access
l y d li u ngu n ó m i khi b n cho thi hành Query.
Ví d :
o query thêm m t kho có mã kho là “KH11”, tên kho là “Kho 11” và a ch
kho là 140 - Lý T Tr ng - C n Th . Các giá tr này
c nh p t bàn phím.
Query ch
thi t k :

Chú ý: - B ng d li u ngu n (n u có) ph i có m t danh sách các b ng tham gia truy v n.
- Giá tr c a khóa chính ho c nh ng tr ng có quy nh thu c tính Indexed là
Yes, No Duplicate thì d li u trùng l p s không
c n i vào b ng.
4.9.4. Make-Table Query (Query t o b ng)
d ng khi mu n sao chép c u trúc và/ho c d li u t m t ho c nhi u Table sang
t Table khác.

o Make - Table - Query:
1. T o m t Select Query hoàn ch nh ch a các d li u c n thi t
t o ra b ng m i.
2. Vào Query\Make-Table Query.

3. Nh p tên b ng m i vào ô Table Name c a h p tho i Make-Table và click OK.
Ví d : T o b ng m i có tên KHACHHANG_CTA t b ng DMKH ch ch a các
khách hàng có mã khách hàng b t u b ng “CTA”.
ng d n: T o m t Select query ch a y
thông tin v các khách hàng có
mã khách hàng b t u b ng “CTA” r i th c hi n b c 2 và 3 trên.
4.10. Crosstab Query (Query tham chi u chéo)
d ng d ng Query này khi mu n th ng kê và trình bày các d li u theo d ng tóm
t nh th ng kê tr giá m i lo i hóa
n c a t ng kho, th ng kê t ng s hóa
n
xu t/nh p c a t ng kho,…
Ví d : o query th ng kê tr giá c a m i lo i hóa
n nh p xu t trên t ng kho.
li u ngu n: Table HOADON.
4.10.1. T o Crosstab Query b ng Wizard
B1- Trong ng n Query, b n Click New,
ch n Crosstab Query Wizard và click OK.

Trung t©m Tin häc

Trang

45



Microsoft Access 2000

Ch-¬ng 4: Query

B2- Ch n Table tham gia query
(HOADON) và click Next.

B3- Ch n field làm tiêu
dòng
(row heading) và click Next: B n ch n
field MAKHO và Click nút >
a qua
Selected Fields, b n có th lo i b field
ã
c ch n b ng cách ch n chúng và
Click nút <.

B4- Ch n field làm tiêu
t (column heading) và click
Next: B n ch n Field LOAIHD
theo cách t ng t nh
b c 3.

B5- Ch n field và hàm
mu n th c hi n th ng kê và click
Next: Ch n SOHD và hàm Count
m SOHD.
Tùy theo ki u d li u c a tr ng
mu n th ng kê b n có th ch n

t trong s các hàm nh : Tính
ng (sum), tính trung bình (avg),
m (count), l y tr l n nh t/nh
nh t (max/min),…

Trung t©m Tin häc

Trang

46


Microsoft Access 2000

Ch-¬ng 4: Query

B6t tên cho Query, ch n ch
m query là xem k t qu (View the
query) ho c thi t k l i (Modify the
design) và click Finish.

- Khi th c thi Query b n
t qu nh sau:

c

MAKHO Total Of SOHD NH
KH1
4
KH10

3
KH2
1
KH3
4
KH4
2
KH5
3
KH7
1
KH8
1

P XU T
2
2
3
1
2
2
2
1
2
1
1

4.10.2.Crosstab Query b ng Design
*
ch

thi t k ,
crosstab query
c t o
ng Wizard trên có d ng
nh sau:

*

t o m t crosstab query theo cách t thi t k , b n th c hi n nh sau:

B1: Ch n ng n Query, ch n New, ch n Design view

i click OK.

B2:
a table/query ch a d li u ngu n vào vùng ch a table/query. Trong ví d trên
là b ng HOADON.
B3:
a các tr ng làm tiêu
c t, tiêu
dòng và th ng kê vào vùng l
query. Trong vi d trên là MAKHO, LOAIHD và SOHD.

i c a

B4: Vào Query\Crosstab Query. Lúc này, xu t hi n thêm dòng Crosstab và Total
vùng l i c a query. Trên dòng Crosstab b n ch n Row heading cho tr ng làm
tiêu
dòng, Column heading cho tr ng làm tiêu
c t và Value trên tr ng


Trung t©m Tin häc

Trang

47


Microsoft Access 2000

Ch-¬ng 4: Query

mu n th ng kê. Trên dòng Total, b n ch n Group By cho tr
dòng, và ch n hàm dùng
th ng kê cho tr ng th ng kê.

ng làm tiêu

c t và

*
u mu n t o thêm c t trong crosstab query (ví d :
m t ng s hóa
n nh p
và xu t trên m i kho), b n t o thêm m t c t (ví d : TongSoHD: SOHD) vào vùng
i, ch n hàm dùng
th ng kê trên dòng Total (gi ng nh hàm trên dòng Total
a c t th ng kê) và ch n Row heading trên dòng Crosstab c a c t này.
u ý:
1. Crosstab Query Wizard ch l y d li u t m t Table/Query. Do ó n u mu n l y d

li u t nhi u table/query, b n ph i ch n cách t thi t k .
2. Trong m t crosstab query, b n có th ch n nhi u c t làm tiêu
dòng nh ng ch
c phép ch n m t c t làm tiêu
c t và m t c t dùng
th ng kê.
3. Không th truy n tham s cho m t Crosstab Query. N u mu n s d ng thông s cho
Crosstab Query, ta ph i t o m t Select Query trung gian có ch a thông s c n truy n.
4.11. S d ng tham s trong truy v n
4.11.1. Ý ngh a s

d ng tham s :

Tham s trong truy v n dùng
nào ó.
u ki n này có th là:

th c hi n các truy v n theo m t

M t bi n tham s mà giá tr c a nó s
n
c th c hi n.

c nh p vào t

u ki n "

ng"

bàn phím khi truy


Ho c là giá tr c a m t
u khi n (control) n m trên m t bi u m u ang m
ch
c p nh t d li u.
Thí d : Th hi n t t c các hóa
n nh p và xu t hàng c a m t kho b t k nào
ó mà khi th c hi n truy v n ng i s d ng s nh p vào m t mã kho t ng ng mu n
xem.
Nh n xét: Truy v n này s có tham s vào là m t mã kho (có ki u d li u chu i)
và tham s này ph i t t i dòng
u ki n
so sánh (Criteria) c t mã kho. T
ó có
th l c ra các hóa n c a các kho hàng t ng ng có trong b ng hóa
n.
4.11.2. S

d ng bi n tham s trong truy v n

1. T o query v i
u.

y

các thông tin theo yêu

2. Vào menu Query\Parameters
Query Parameters.


m h p tho i

3. Nh p bi n tham s vào c t Parameter và ch n
ki u d li u thích h p cho tham s trong c t Data
Type. Ki u d li u này ph i gi ng v i ki u d li u
a c t trong b ng c n so sánh. Trong thí d trên
chúng ta t o ra m t tham s có tên là Nh p Mã
Kho có ki u d li u là chu i. L p l i b c này n u
mu n t o thêm các thông s khác.
4. Nh p tên tham s
gi a 2 d u ngo c vuông
vào dòng
u ki n (criteria) t i c t mu n so sánh
trong vùng l i.
Trung t©m Tin häc

Trang

48


Microsoft Access 2000

Ch-¬ng 4: Query

5. L u query và ch y th . Khi th c hi n, access
hi n th h p tho i Enter Parameter Value
ng i dùng nh p giá tr cho bi n tham s .

Ví d : màn hình

trên nh sau:

ch

thi t k c a query có s d ng tham s theo yêu c u c a ví d

4.11.3. Tham s c a truy v n nh n t Form

th c thi Query

i v i lo i truy v n này, b n ch c n
a tham s vào dòng
u ki n c a c t
mu n so sánh theo cú pháp: [Forms].[Tên Form]![Tên
u khi n]. Giá tr c a
u
khi n (control)
c ch nh n m trên m t bi u m u ang m
ch
c p nh t d li u
là tham s cho truy v n khi th c thi.
Ví d : o query li t kê nh ng hóa
n phát sinh trong kho ng th i gian
nh trong 2 textbox Tungay và Denngay c a Form F_Hoadon ang m .
Query theo yêu c u trên có th

c qui

c thi t k nh sau:


Trong ó bi u th c so sánh trên dòng
u ki n c a c t NGAYHD là:
Between [Forms].[F_HOADON]![Tungay] And [Forms].[F_HOADON]![Denngay]
4.12.Truy v n con
4.12.1. Khái ni m:
Truy v n con (subquery) là m t truy v n ch n l a
c dùng nh
bên trong m t truy v n ch n l a hay truy v n hành ng khác.

m t

u ki n

4.12.2. Cách t o truy v n con
1.

T o truy v n con trong cùng nh t, ch y và xem k t qu .

Trung t©m Tin häc

Trang

49


Microsoft Access 2000

Ch-¬ng 4: Query

2.


Vào menu View\SQL View, sao chép n i dung câu l nh SQL c a truy v n
con.

3.

T o truy v n cha.

4.

Dán câu l nh SQL sao chép b c 2 vào dòng
u ki n c a m t c t trong
truy v n cha. Câu l nh này n m phía sau m t trong các phép toán t so sánh
nh : Not, in, >, <,… và
c t trong c p d u ngo c.
* Trình t th c hi n m t
u ngo c
n c p th
a truy v n con này
th các truy v n s l n l

truy v n có ch a truy v n con: Truy v n bên trong c p
p nh t s
c th c hi n tr c tiên, sau ó l y k t qu
th c hi n vi c so sánh v i truy v n cha bên ngoài. C
t
c th c hi n t trong ra ngoài.

4.12.3. Thí d v truy v n con
o truy v n th hi n các kho trong b ng danh m c kho ch a tham gia nh p xu t

hàng hóa.
Nh n xét:
làm
c truy v n này, chúng ta t o ra hai truy v n nh m tìm các
p h p sau:
1. T p h p danh sách các kho ang có trong danh m c kho.
2. T p h p danh sách các kho ã tham gia nh p xu t hàng hóa.
So sánh gi a hai t p h p này
tìm ra nh ng kho có bên t p h p các kho hi n
ang có nh ng không t n t i bên t p h p các kho ã tham gia nh p xu t hàng hóa.
Chúng ta th y r ng truy v n tìm danh sách các kho ã tham gia nh p xu t hàng
hóa s ph i
c th c hi n tr c
l y k t qu em so sánh v i danh sách các kho
ang có. Do ó truy v n tìm danh sách các kho ã tham gia nh p xu t hàng hóa là
truy v n con (
c th c hi n tr c) và truy v n tim danh sách các kho ang có là
truy v n cha (
c th c hi n sau).
Các b

c th c hi n:

1. T o truy v n con tìm danh
sách kho ã tham gia nh p
xu t hàng hóa .
2. i dung câu l nh SQL:
SELECT
HOADON.MAKHO
FROM HOADON;


Trung t©m Tin häc

Trang

50


Microsoft Access 2000

Ch-¬ng 4: Query

3. o truy v n cha: Tìm danh
sách kho ang có trong danh
c kho.
4. Nh p bi u th c: Not In
(SELECT
HOADON.MAKHO
FROM HOADON;) vào dòng
u ki n c a c t MAKHO trong
truy v n cha. Trong ó: Toán t
Not in
c dùng
ch n các
ph n t
trong m t t p h p
không có trong m t t p h p
khác, và câu l nh SQL trong
ngo c chính là câu l nh ã sao
chép b c 2.

u ý: S c t tr v c a truy v n con gi c ng là m t c t.

Trung t©m Tin häc

Trang

51



×