Your SlideShare is downloading. ×
Chuong 04   query
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Chuong 04 query

1,924
views

Published on


0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,924
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
50
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Microsoft Access 2000 Ch-¬ng 4: Query Ch 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
  • 2. 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
  • 3. Microsoft Access 2000 Ch-¬ng 4: Query Danh sách các Field liên h c a các b ng trên Table hay Query. 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. Ch n field b ng cách rê t danh sách và th vào l i thi t k . 4.4.2. CrossTab Query cho bi t các tr t ng h p s li u (t ng tr , Select Query 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 CrossTab Query Ví d 1: M t Crosstab Query 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 c ích p h p theo c t dòng 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
  • 4. Microsoft Access 2000 Ch-¬ng 4: Query 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 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 c và 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 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
  • 5. 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 QueryParameter. 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
  • 6. 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 72 = 3 Mod Chia l y ph n d 7 mod 2 = 1 2. Toán t logic Toá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 Cú pháp: BT1 AND BT2 AND .. (1>3) And (2<8): False - V i BT1, BT2,… là các bi u th c logic. (1<3) And (9>7): True AND - Ý ngh a: Cho k t qu là True n u t t c 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 OR - Ý 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. - Cú pháp: Not BT Not (3>9)=True 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 & Ghép chu i 3/2” ( “C S Tin H c 39 ng 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. Like di n. "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
  • 7. Microsoft Access 2000 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 . In - Ý 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 - Cú pháp: Format ( x,n) - Format (1234.6455,"#,###.###")= 1,234.646 - Trong ó x là s , n ki u nh - Format (1234.64558,"#,###.##")= 1,234.65 ng hi n th s - Format (1234.64558,"#,###.#")= 1,234.6 Format - Ý 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, Is Null ng c l i hàm cho k t qu là False Is Not Cho k t qu là True n u giá tr c a m u tin t i m t tr ng không Null ng, 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: Vùng ch a các table ngu n i QBE Vùng l Xem Query k t q a sau khi thi t k Trung t©m Tin häc Trang 34
  • 8. 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
  • 9. 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 (FileSave). 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
  • 10. 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 ho c vào ViewDatasheet View. Th c hi n truy v n: Click nút Run ho c vào QueryRun. 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 ViewDesign 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 QueryShow 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
  • 11. 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 QueryRemove 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: ViewTable 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: InsertColumns 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 EditDelete. 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 Ctrl+F2 m h p tho i 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
  • 12. 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
  • 13. 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
  • 14. 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
  • 15. 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 InsertQuery 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
  • 16. 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
  • 17. 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 InsertQuery, 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 QueryAppend 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
  • 18. 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 QueryMake-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
  • 19. 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
  • 20. Microsoft Access 2000 Ch-¬ng 4: Query 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 the design) và click Finish. - Khi th c thi Query b n c MAKHO Total Of SOHD NH P XU T t qu nh sau: KH1 4 2 2 KH10 3 3 KH2 1 1 KH3 4 2 2 KH4 2 2 KH5 3 1 2 KH7 1 1 KH8 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 i c a query. Trong vi d trên là MAKHO, LOAIHD và SOHD. B4: Vào QueryCrosstab 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
  • 21. 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 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 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 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 truy n 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êu u. 2. Vào menu QueryParameters m h p tho i Query Parameters. 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
  • 22. 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 ch thi t k c a query có s d ng tham s theo yêu c u c a ví d trên nh sau: 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 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 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 m t u ki n bê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 . Trung t©m Tin häc Trang 49
  • 23. Microsoft Access 2000 Ch-¬ng 4: Query 2. Vào menu ViewSQL 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 truy v n có ch a truy v n con: Truy v n bên trong c p u ngo c n c p th p nh t s c th c hi n tr c tiên, sau ó l y k t qu a 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 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
  • 24. 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

×