Microsoft Access 2000 Ch Ch-¬ng 4: Query ng IV: QUERY-TRUY V N D LI U 4.1 Gi i thi u: Query công c cho phép truy v n x lý d li u, rút trích hi n th nh ng thông tin c th t Table thay i d li u b ng nhi u cách khác Kh n ng lý truy v n m t b c quan tr ng vi c xây d ng ng d ng Query công c c tr ng c a Microsoft Access, giúp b n nêu áp ng yêu c u truy v n s li u DBMS xem, s a phân tích hay t ng h p s li u d i nhi u hình th c phong phú th c hi n Query, b t bu c ph i có Database bên ó ã có m t hay nhi u Table S li u c l u Table, cịn Query cơng c tìm nhìn s li u d i nhi u góc khác nhau, có th nhìn s li u qua Query, b n th c hi n thao tác s a ch a s a ch a ó l i có hi u l c ng c l i lên nh ng Record c a Table ã tham gia s d ng Khi cho th c hi n m t Query, Microsoft Access thu th p s li u t Table khác nh m áp ng yêu c u v n tin c a b n, m t n v g i “dynaset” (dynamic dataset) ngh a 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 b n u ch nh s li u dynaset ng th i s li u t Table ng c s a i theo Query c dùng t o ngu n s li u c s cho công c khác nh : Form, Report, k c query khác, th m chí t o 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 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 Table, nhu n nhuy n n vi c thi t k khai thác Query ng i ó th ng Table ví nh ng v n, Query kh n ng kinh doanh ng v n ó, khơng bi t kinh doanh c t v n 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 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 hi n th k t qu m t datasheet ó 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 th c hi n tính t ng (SUM), m (COUNT), trung bình c ng (AVERAGE) 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 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 d i i v i delete Query, b n có th gi i h n vi c xóa c a m t ph m vi ó 4.2.3 Update query (Query c p nh t s li u) Dùng thay i ng lo t nhi u record m t ho c nhi u Table Ví d : b n có th t ng m c a m t s sinh viên ó 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 Table) o m t Table m i t m t hay nhi u table c dùng vào m c ích t o Table d phịng, trích rút record t m t ho c nhi u Table l u tr tr c xóa record kh i 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 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 c ng d c Lo i r t thích h p cho t o s li u c s cho báo bi u (report) 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 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 th ng c dùng cho nh ng ng i thành th o Microsoft Access Trong tài li u ch t p trung vào cách làm Parameter Query: u có m t Query mà thi hành ph i nh n c giá tr thông s t o k t qu tùy theo thơng s ó g i Parameter Query Các Query dùng vào b t k m c ích (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 c xem nh 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 kho ng th i gian ó, 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] nh ng bi n dùng trao thông s vào lúc thi hành Action Query: Là lo i Query mà thi hành, không hi n th m t k t qu hình, mà âm th m làm m t vi c ó 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 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, hi n th k t qu ó theo m t trình t ng ta ch nh Ví d 1: T Table Products Table Suppliers, trích ch n thành Query Products and Suppliers k t qu hi n th theo c t Product Name: Khi ch y Query, Microsoft Access rút trích m u tin th a mãn u ki n quy nh 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 “Pavlova, Ltd” ho c “Exotic Liquids”: Trung t©m Tin häc Trang 29 Microsoft Access 2000 Ch-¬ng 4: Query Danh sách Field Table hay Query liên h c a 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 tiêu chu n ch n l a Các Field ch n, cách p x p th t tiêu chu n Ví d 1: M t Crosstab Query CrossTab Query 4.4.2 CrossTab Query cho bi t 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 k t qu c a m t CrossTab Query i chi u v i m t Select Query, t p h p dịng Buchanan thành m t dòng, dòng Callahan thành m t dòng Select Query Ch n field b ng cách rê t danh sách th vào l i thi t k giai n thi t k k t qu : Ch nh t p h p i m c 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 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 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 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 q trình tính tốn a H ng s : Bao g m t t c s : 10, 50, 1254.56, b H ng chu i, ký t : Là t p h p ký t c t 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 c p d u # # Ví d : #08/10/1977#, #05/06/1979# 4.5.2 Ki u: t ki u d li u t p h p giá tr mà m t bi n thu c ki u ó nh n m t t p h p phép tốn có th áp d ng giá tr ó c 4.5.3 Bi n: Ch ng trình qu n lý 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 ta ph i t c p d u ngo c vng: [Tên Bi n] Có hai lo i bi n: Bi n tr ng: Có th hi u nh bi n n i Khi tên bi n gi ng nh tên tr ng b ng Access hi u ó bi n tr ng Giá tr c a bi n tr ng giá tr t ng ng c a tr ng Table Chú ý: Khi có nhi u tên tr ng gi ng Table ta ph i ch rõ bi n tr ng ó c a Table theo cú pháp nh sau: [Tên Table]![Tên bi n] Ví d : [SINHVIEN]![HOTEN] ho c [GIAOVIEN]![HOTEN] Bi n tham s : Có th hi u nh bi n ngo i, tên bi n không gi ng b t c tên tr ng CSDL Microsoft Access hi u ó 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 thi hành Query Microsoft Access hi n th lên h p h i tho i “Enter Parameter Value” i m c ích 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 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 có th d n n vi c tính tốn sai Do v y 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 ta ph i quy nh l i Trình t làm nh sau: 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 Nh p tên bi n vào c t Parameter ch n ki u d li u cho bi n c t Data Type L p l i b c cho bi n khác Click OK 4.5.4 Bi u th c (expression): Là t p h p toán t toán h ng k t qu tr v t giá tr nh t Có lo i bi u th c: Bi u th c logic: Là bi u th c mà k t qu tr v True ho c False, th ng bi u th c logic c dùng làm u ki n vùng Criteria Bi u th c tính tốn c (Calculated Field): Là m t tr ng (Field) c nh ngh a Query 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 giá tr bi u th c thay i Bi u th c tính tốn c khơng ph i bi u th c logic Lo i bi u th c 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 v trí 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 xác tên chu i Ký t i di n c dùng 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, why, B?ll t ng ng v i ? i di n cho m t ký t b t k ball, bell, bill B[ae]ll t ng ng v i i di n cho m t ký t xu t hi n ball bell nh ng không [] p d u ngo c [] th 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 bull nh ng không [!] hi n sau d u ! th bell i di n cho m t ký t 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, 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 tr ng h p d li u c a b n có ki u Text b n có th s d ng 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 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 - n ph i t nh ng thành ph n c p d u ngo c [] Ví d : tìm ki m d u ch m h i, b n ph i ánh [?] 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 x y 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 c p d u ngo c [] (Tuy nhiên, n u nh b n có d u ! phía sau d u [, lúc 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 c p d u ngo c [] - B n không th tìm c p d u ngo c [] m t lúc b i Microsoft Access hi u ó chu i r ng 4.5.6 Toán t : 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 = Mod Chia l y ph n d mod = Toán t logic Cú pháp - Ý ngh a Ví d Tốn t =, B ng, khác >, >= L n h n, l n h n ho c b ng 1) And (1