Chuong 04 query

Preview:

Citation preview

Microsoft Access 2000 Ch-¬ng 4: Query

Trung t©m Tin häc Trang 28

Ch ng IV:

QUERY-TRUY V N D LI U4.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 ngthô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 sli 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 khinhì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. Khicho th c hi n m t Query, Microsoft Access thu th p các s li u t các Table khác nhaunh m áp ng yêu c u v n tin c a b n, trong m t n v g i là “dynaset” (dynamicdataset) 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 uhi 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 tina 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 nn 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áich c.4.2. Các lo i Query thông d ng4.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 thay nhi u Table và hi n th k t qu trong m t datasheet và ó b n có th c p nh trecord 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 sphé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ìnhng 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 ncó 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óacác record này kh i các Table hi n hành.

4.2.6. CrossTab Query (Query tham chi u chéo).

Microsoft Access 2000 Ch-¬ng 4: Query

Trung t©m Tin häc Trang 29

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 ngtí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 scho 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 ngsau khi thi t k Query b ng Query Wizard b n ph i chuy n sang ch Design Viewthi 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á trthông s t o ra k t qu tùy theo thông s ó thì g i là Parameter Query. Các Querydùng vào b t k m c ích nào (nh Select Query, Append Query, Delete Query,...) n ucó 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 giannà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ênmà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 tt 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:

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 ilà “Pavlova, Ltd” ho c “Exotic Liquids”:

Khi ch y Query, Microsoft Access rúttrích các m u tin th a mãn u ki n

quy nh

..vàhi n th

theoth t

ch nh

Microsoft Access 2000 Ch-¬ng 4: Query

Trung t©m Tin häc Trang 30

4.4.2. CrossTab Query chobi t các tr t ng h p s li u (t ng tr ,

l t, s trung bình, tr cao nh thay th p nh t,...)Ví d bên c nh là k t qu c a m tCrossTab Query i chi u v i m tSelect Query, nó t p h p 3 dòngBuchanan thành m t dòng, 3 dòngCallahan thành m t dòng

Ví d 1: M t Crosstab Query giai n thi t k và k t qu :

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:

Ch nhcác t p h p

i m c này.

T p h p theodòng p h p theo c t c ích

p h p

Danh sách các Fieldtrên Table hay Query.

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

T o query b ng cách ch ntable và/ho c query, xác

nh m i liên h , ch n fieldt danh sách, ch nh cách

p x p, a ra tiêu chu nch n l a.

Ch n field b ng cáchrê t danh sách và th

vào l i thi t k .

Các Field ch n, cáchp x p th t và tiêu

chu n.

Select

Query

CrossTab

Query

Microsoft Access 2000 Ch-¬ng 4: Query

Trung t©m Tin häc Trang 31

4.5. CÁC THÀNH PH N C B N TRONG TRUY V N4.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 cvà m t t p h p các phép toán có th áp d ng trên các giá tr ó.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 cvuô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 ngng 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 ntr 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 ntham s c nh p vào t bàn phím. Ví d : Trong Query có ch a bi n tham s và khithi hành Query này thì Microsoft Access hi n th lên h p h i tho i “Enter ParameterValue” 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 EnterParameter Value ta nh p giá tr cho bi n.

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

ng h p s li u theo nhóm.

L p b ng thamchi u chéo d ngPivot Table theohàng và c t.

Microsoft Access 2000 Ch-¬ng 4: Query

Trung t©m Tin häc Trang 32

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 ytrong tr ng h p ta mu n báo cho MicrosoftAccess hi u giá tr mà ta nh p vào thu c ki u dli u khác thì ta ph i quy nh l i. Trình t làm nhsau:

1. R_Click vào vùng thi t k ch nParameter 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 ngthì bi u th c logic c dùng làm u ki n trong vùng Criteria2. 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àodò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. Doy, 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

* i di n cho m t s ký t b t k . Wh* t ng ng v iwhat, white, và why,..

? i di n cho m t ký t b t k B?ll t ng ng v iball, bell, và bill

[ ] i di n cho m t ký t xu t hi n trongp d u ngo c []

B[ae]ll t ng ng v iball và bell nh ng khôngth là bill

[!] i di n cho m t ký t b t k không xu thi n sau d u !

B[!Ae]ll t ng ng v ibill và bull nh ng khôngth là bell

-i di n cho m t ký t trong kho ng. B n

ch nh vùng theo th t t ng d n (t An Z nh ng không th t Z n A)

B[a-c]d t ng ng v ibad, bbd, và bcd

# i di n cho m t s 1#3 T ng ng v i103, 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 dli 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 cnh 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ý

Microsoft Access 2000 Ch-¬ng 4: Query

Trung t©m Tin häc Trang 33

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úcnà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 = 3Mod Chia l y ph n d 7 mod 2 = 1

2. Toán t logicToán t Cú pháp - Ý ngh a Ví d

=, <> 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

AND

Cú pháp: BT1 AND BT2 AND ..- V i BT1, BT2,… là các bi u th c logic.- Ý ngh a: Cho k t qu là True n u t t ccác bi u th c logic BT1, BT2, ... là True,ng c l i hàm cho k t qu là False.

(1>3) And (2<8): False(1<3) And (9>7): True

OR

Cú pháp: BT1 OR BT2 OR BT3 OR ...- V i BT1, BT2, .... là các bi u th c logic.- Ý ngh a: Cho k t qu là Flase n u t t

các bi u th c logic BT1, BT2, ... làFalse, ng c l i hàm cho k t qu là True.

(1>3) Or (2<8): False(1<3) or (9>7): True

NOT- Cú pháp: Not BT- Ý ngh a: Cho k t qu là True n u BT cógiá tr False, và ng c l i.

Not (3>9)=TrueNot ((2>1) And (1<9))=False

3. Toán t logicToán t Cú pháp - Ý ngh a Ví d

& Ghép chu i“C S ” & “ Tin H c” & “ 39 ng3/2” ( “C S Tin H c 39 ng3/2”

Like

- Cú pháp: <BT> Like <m u>- Trong ó: BT: Bi u th cchu i; <m u>: Là m t chu i ký

có th bao g m c ký t idi n.- Ý ngh a: Cho k t qu làTrue n u <BT> tho mãn<m u>, ng c l i cho k t quFalse

"aBBBa" Like "a*a" True"F" Like "[A-Z]" True"F" Like "[!A-Z]" False."a2a" Like "a#a" True."aM5b" Like "a[L-P]#[!c-e]"True."BAT123khg" Like "B?T*" True."CAT123khg" Like "B?T* False

Between

Cú pháp:<BT> Between GT1 And GT2

- Trong ó: BT là bi u th c,GT1, GT2 là các giá tr- Ý ngh a: Cho k t qu làTrue n u giá tr c a BT n mtrong kho ng GT1 n GT2,ng c l i cho k t qu là False

4 Between 2 And 9 True10 Between 1 And 3 False#08/10/1977# Between#01/10/1977# And #05/06/1979#True

Microsoft Access 2000 Ch-¬ng 4: Query

Trung t©m Tin häc Trang 34

In

Cú pháp:- BT in(GT1, GT2, GT3,....)- 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 trongkho ng các giá tr GT1, GT2,GT3,.., ng c l i hàm cho k tqu là False

3 In (1,2,4,3,6) True5 In (1,2,3,9) False

Format

- Cú pháp: Format ( x,n)- Trong ó x là s , n ki u nh

ng hi n th s- Ý ngh a: Cho k t qu là shi n th theo ki u nh d ng n(t ng t nh hàm làm tròntrong Excel)

- Format (1234.6455,"#,###.###")= 1,234.646- Format (1234.64558,"#,###.##")= 1,234.65- Format (1234.64558,"#,###.#")= 1,234.6- Format (1234.64558,"#,###")= 1,235

Is Null 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

Is NotNull

Cho k t qu là True n u giá tr c a m u tin t i m t tr ng khôngng, ng c l i hàm cho k t qu là False

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

Vùng

ch

a cá

c ta

ble

ngu

nVù

ng l

i QBE

Microsoft Access 2000 Ch-¬ng 4: Query

Trung t©m Tin häc Trang 35

hai table ngu n HOADON và DMKH (vi c xác nh Table ngu n nào là l thu c vàong 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ùnglà 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 unà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 Showta 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 tho 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òngtrong vùng l i QBE g m có:

Dòng Ý ngh aField Th hi n các field (c t) c a b ng íchTable Tên b ng t ng ng c a c t

Sort Cho phép s p x p th t c t t ng Ascendingho c gi m d n Descending.

Show Hi n ho c n c t này.

CriteriaBi u th c mu n l c trong truy v n. N u ghi u ki n trong cùng

t dòng thì t ng ng toán t logic AND, ng c l i n u ghiu 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 truyn (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)

Microsoft Access 2000 Ch-¬ng 4: Query

Trung t©m Tin häc Trang 36

1. c 1: T a sDatabase Click ch n ng nQuery, Click New. Khi ó xu thi n h p h i tho i NewQuery, n ch n DesignView và click OK.2. c 2: Xác nh cáctable/query ngu n.Trong h p tho i Show Table,

n ch n các table/queryngu n và click Add avào vùng ch a các b ng.Click Close óng h p tho iShow Table. Thông th ng

u các b ng ã c t oquan h trong c a s quan hthì khi a vào trong truy v nchúng v n còn gi nguyênquan h này. Tuy nhiên lúcchèn các b ng vào m t truy

n thì có m t s tr ng h pMicrosoft Access t o quan hcho các b ng n u các b ngnày ch a c t o quan htrên c a s quan h bênngoà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 trongdanh 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 (Shó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:

Microsoft Access 2000 Ch-¬ng 4: Query

Trung t©m Tin häc Trang 37

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 ngDMKH; 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 ratoá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 Query4.7.1. M t s thao tác c b na. 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 ho c vào View\DatasheetView.

Th c hi n truy v n: Click nút Run 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 itruy v n (action query) làm thay i giá tr d li u nh : Update Query, AppendQuery, 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 ttruy 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 QBETrong 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 nQBE 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ùngch 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ôngtin c a b ng này) thì chúng ta s lo i b nó ra kh i truy v n.

Thêm b ng1. 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àoQuery\Show Table.

2. a các table (b ng) c n thêm vào (xem 4.6.2).

Microsoft Access 2000 Ch-¬ng 4: Query

Trung t©m Tin häc Trang 38

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 thhi 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 nTable 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 thi 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 othê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 tacò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ácbi 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óan, 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 ExpressionBuilder: R_Click ch n Build, ho c

Click nút Build ho c nh nCtrl+F2 m h p tho iExpression Builder.bi u th c tính toán có liên quan nField c a table ngu n thì ta ghi nhsau:[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, Controlu khi n), hàm (Function), h ng

Microsoft Access 2000 Ch-¬ng 4: Query

Trung t©m Tin häc Trang 39

(Constants),... có s n vào bi u th cng 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 giaQuery 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 nhauthì 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 Formho 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) trongQuery, ôi khi giá tr th hi n không úng nh ta mong mu n, thay i l i cách hi nth 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ênthanh 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ínhFormat 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.

Microsoft Access 2000 Ch-¬ng 4: Query

Trung t©m Tin häc Trang 40

Ý 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 nhauthì 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 nhauthì s hi n th m t record duy nh t.

+ No: Hi n th t t c các recordChú ý: 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 thamgia 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_Clickvà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 ngrecord 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 ngrecord 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 cnh 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ênTable DMKHO có liên quan.4.7.6. L u Query: Th c hi n t ng t nh i v i TableTó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

Microsoft Access 2000 Ch-¬ng 4: Query

Trung t©m Tin häc Trang 41

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 ngdò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 tAvg Tính trung bình c ng cho các c t có ki u d li u sSum Tính t ng các c t có ki u d li u sCount m s giá tr khác r ngMin Tìm giá tr nh nh tMax Tìm giá tr l n nh tFirst Tìm giá tr u tiênLast Tìm giá tr cu i cùngExpression Bi u th c tính toán t các c t d li u khác trong b ngWhere 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:

Microsoft Access 2000 Ch-¬ng 4: Query

Trung t©m Tin häc Trang 42

Trong ví d trên t i c t MAKHO, TENKHO, LOAIHD ta s d ng m nh GroupBy trong dòng Total nhóm d li u theo MAKHO, TENKHO, LOAIHD và c t Tong TriGia 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 cnh 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 itê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 ngng 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 ngu 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 Fieldtrê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.

Microsoft Access 2000 Ch-¬ng 4: Query

Trung t©m Tin häc Trang 43

Ví d 1: C p nh ttr ng DIENGIAIHD trongtable HOADON thànhHóa n Nh p hay Hóa

n Xu t tùy thu c vàolo i hóa n là Nh p hayXu t.

Ví d 2: C p nh t tr ng TRIGIATANG trong Table HOADON b ng 1.1*TRIGIAi 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 ci l 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 sxu 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òngDelete 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 ckhi th c hi n Query xóa các m u tin này.

Microsoft Access 2000 Ch-¬ng 4: Query

Trung t©m Tin häc Trang 44

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

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 Recordbê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 cxó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 inhau. 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 ngaytrong 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ôngc 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 nnh p giá tr vào và nh ng giá tr này s c n i vào Field c ch nh trong dòngAppend To t ng ng.

Microsoft Access 2000 Ch-¬ng 4: Query

Trung t©m Tin häc Trang 45

+ 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 chkho 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ómt 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.

Microsoft Access 2000 Ch-¬ng 4: Query

Trung t©m Tin häc Trang 46

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 nfield MAKHO và Click nút > a quaSelected 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 LOAIHDtheo cách t ng t nh b c 3.

B5- Ch n field và hàmmu n th c hi n th ng kê và clickNext: Ch n SOHD và hàm Count

m SOHD.Tùy theo ki u d li u c a tr ngmu n th ng kê b n có th ch n

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

nh t (max/min),…

Microsoft Access 2000 Ch-¬ng 4: Query

Trung t©m Tin häc Trang 47

B6- t 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 thedesign) và click Finish.

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

MAKHO Total Of SOHD NH P XU TKH1 4 2 2KH10 3 3KH2 1 1KH3 4 2 2KH4 2 2KH5 3 1 2KH7 1 1KH8 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 ngnh 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ênlà 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 i c aquery. Trong vi d trên là MAKHO, LOAIHD và SOHD.B4: Vào Query\Crosstab Query. Lúc này, xu t hi n thêm dòng Crosstab và Totalvùng l i c a query. Trên dòng Crosstab b n ch n Row heading cho tr ng làmtiêu dòng, Column heading cho tr ng làm tiêu c t và Value trên tr ng

Microsoft Access 2000 Ch-¬ng 4: Query

Trung t©m Tin häc Trang 48

mu n th ng kê. Trên dòng Total, b n ch n Group By cho tr ng làm tiêu c t vàdòng, và ch n hàm dùng th ng kê cho tr ng th ng kê.* u mu n t o thêm c t trong crosstab query (ví d : m t ng s hóa n nh pvà 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 Totala 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 dli 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 choCrosstab 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 n4.11.1. Ý ngh a s d ng tham s :

Tham s trong truy v n dùng th c hi n các truy v n theo m t u ki n " ng"nào ó. u ki n này có th là:

M t bi n tham s mà giá tr c a nó s c nh p vào t bàn phím khi truyn c th c hi n.

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 y các thông tin theo yêuu.

2. Vào menu Query\Parameters m h p tho iQuery Parameters.3. Nh p bi n tham s vào c t Parameter và ch nki u d li u thích h p cho tham s trong c t DataType. 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ênchú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 umu 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ôngvào dòng u ki n (criteria) t i c t mu n so sánhtrong vùng l i.

Microsoft Access 2000 Ch-¬ng 4: Query

Trung t©m Tin häc Trang 49

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 ch thi t k c a query có s d ng tham s theo yêu c u c a ví dtrên nh sau:

4.11.3. Tham s c a truy v n nh n t Form th c thi Queryi 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 ukhi 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 c qui

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 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 con4.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 m t u ki nbên trong m t truy v n ch n l a hay truy v n hành ng khác.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 .

Microsoft Access 2000 Ch-¬ng 4: Query

Trung t©m Tin häc Trang 50

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

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ánhnh : Not, in, >, <,… và c t trong c p d u ngo c.

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

th các truy v n s l n l 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 thà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ácp 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 nang 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ànghó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 danhsách kho ã tham gia nh pxu t hàng hóa .

2. i dung câu l nh SQL:SELECT HOADON.MAKHOFROM HOADON;

Microsoft Access 2000 Ch-¬ng 4: Query

Trung t©m Tin häc Trang 51

3. o truy v n cha: Tìm danhsách kho ang có trong danh

c kho.4. Nh p bi u th c: Not In(SELECT HOADON.MAKHOFROM HOADON;) vào dòng

u ki n c a c t MAKHO trongtruy v n cha. Trong ó: Toán tNot in c dùng ch n cácph n t trong m t t p h pkhông có trong m t t p h pkhác, và câu l nh SQL trongngo c chính là câu l nh ã saochép b c 2.

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