SlideShare une entreprise Scribd logo
1  sur  24
Télécharger pour lire hors ligne
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
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            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
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
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
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
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
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 (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
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
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
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 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
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 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
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
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

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

Contenu connexe

En vedette (20)

Chinh Sach Cua Cong Ty
Chinh Sach Cua Cong TyChinh Sach Cua Cong Ty
Chinh Sach Cua Cong Ty
 
Pres Outline Da Lat En
Pres Outline Da Lat EnPres Outline Da Lat En
Pres Outline Da Lat En
 
Calendasexy Viet Nam
Calendasexy Viet NamCalendasexy Viet Nam
Calendasexy Viet Nam
 
ông già và biển cả
ông già và  biển cảông già và  biển cả
ông già và biển cả
 
Chuong 08 menu and toolbar
Chuong 08   menu and toolbarChuong 08   menu and toolbar
Chuong 08 menu and toolbar
 
Giao trinh he quan tri csdl
Giao trinh he quan tri csdlGiao trinh he quan tri csdl
Giao trinh he quan tri csdl
 
02 access
02 access02 access
02 access
 
Credit k42-2005
Credit k42-2005Credit k42-2005
Credit k42-2005
 
Technology In The Classroom
Technology In The ClassroomTechnology In The Classroom
Technology In The Classroom
 
Vt utz coc_coffee_v2009
Vt utz coc_coffee_v2009Vt utz coc_coffee_v2009
Vt utz coc_coffee_v2009
 
CHỌN GIỐNG
CHỌN GIỐNGCHỌN GIỐNG
CHỌN GIỐNG
 
Esquizofrènia
EsquizofrèniaEsquizofrènia
Esquizofrènia
 
16 Kynangquanlyxungdot
16 Kynangquanlyxungdot16 Kynangquanlyxungdot
16 Kynangquanlyxungdot
 
Caosu q3 1
Caosu q3 1Caosu q3 1
Caosu q3 1
 
Money (viet nam)
Money (viet nam)Money (viet nam)
Money (viet nam)
 
Pdf Slideshare R
Pdf Slideshare RPdf Slideshare R
Pdf Slideshare R
 
Lunch-time, Life-time - ATD Course Project
Lunch-time, Life-time - ATD Course Project Lunch-time, Life-time - ATD Course Project
Lunch-time, Life-time - ATD Course Project
 
japan boy
japan boyjapan boy
japan boy
 
Access vba 052009
Access vba 052009Access vba 052009
Access vba 052009
 
18 Kynanglanhdaotheotinhhuong
18 Kynanglanhdaotheotinhhuong18 Kynanglanhdaotheotinhhuong
18 Kynanglanhdaotheotinhhuong
 

Similaire à Chuong 04 query

52695817 p0201-m03t-truy-van-du-lieu-query-truy-van-chon-select-query
52695817 p0201-m03t-truy-van-du-lieu-query-truy-van-chon-select-query52695817 p0201-m03t-truy-van-du-lieu-query-truy-van-chon-select-query
52695817 p0201-m03t-truy-van-du-lieu-query-truy-van-chon-select-query
nguyen minh
 
Access 18 263_634034061782634040
Access 18 263_634034061782634040Access 18 263_634034061782634040
Access 18 263_634034061782634040
Học Huỳnh Bá
 
Huong dan spss_co_ban_nhung
Huong dan spss_co_ban_nhungHuong dan spss_co_ban_nhung
Huong dan spss_co_ban_nhung
Duy Vọng
 
Baigiangphanquery
BaigiangphanqueryBaigiangphanquery
Baigiangphanquery
Thảo Lê
 
Auto cad nâng câo và lập trình autocad trần anh bình
Auto cad nâng câo và lập trình autocad   trần anh bìnhAuto cad nâng câo và lập trình autocad   trần anh bình
Auto cad nâng câo và lập trình autocad trần anh bình
Tiến Quang
 
bctntlvn (110).pdf
bctntlvn (110).pdfbctntlvn (110).pdf
bctntlvn (110).pdf
Luanvan84
 
Maubaocao luanvan
Maubaocao luanvanMaubaocao luanvan
Maubaocao luanvan
satthu127
 
Chuong1 baigiang spss
Chuong1 baigiang spssChuong1 baigiang spss
Chuong1 baigiang spss
Cá Tiên
 
qdoc.tips_huong-dan-su-dung-wekapdf.pdf
qdoc.tips_huong-dan-su-dung-wekapdf.pdfqdoc.tips_huong-dan-su-dung-wekapdf.pdf
qdoc.tips_huong-dan-su-dung-wekapdf.pdf
minhtd9a
 

Similaire à Chuong 04 query (20)

52695817 p0201-m03t-truy-van-du-lieu-query-truy-van-chon-select-query
52695817 p0201-m03t-truy-van-du-lieu-query-truy-van-chon-select-query52695817 p0201-m03t-truy-van-du-lieu-query-truy-van-chon-select-query
52695817 p0201-m03t-truy-van-du-lieu-query-truy-van-chon-select-query
 
Access 18 263_634034061782634040
Access 18 263_634034061782634040Access 18 263_634034061782634040
Access 18 263_634034061782634040
 
04 query
04 query04 query
04 query
 
Chuong 05 form
Chuong 05   formChuong 05   form
Chuong 05 form
 
Bai8 truy van du lieu_huynhthithuylinh
Bai8 truy van du lieu_huynhthithuylinhBai8 truy van du lieu_huynhthithuylinh
Bai8 truy van du lieu_huynhthithuylinh
 
Chuong 03 table
Chuong 03   tableChuong 03   table
Chuong 03 table
 
Huong dan spss_co_ban_nhung
Huong dan spss_co_ban_nhungHuong dan spss_co_ban_nhung
Huong dan spss_co_ban_nhung
 
Pdf bai 6 làm việc với truy vấn cơ bản-slide 06-quan tri csdl voi access-mast...
Pdf bai 6 làm việc với truy vấn cơ bản-slide 06-quan tri csdl voi access-mast...Pdf bai 6 làm việc với truy vấn cơ bản-slide 06-quan tri csdl voi access-mast...
Pdf bai 6 làm việc với truy vấn cơ bản-slide 06-quan tri csdl voi access-mast...
 
Sudungmacro
SudungmacroSudungmacro
Sudungmacro
 
Bai giang he qtdl
Bai giang he qtdlBai giang he qtdl
Bai giang he qtdl
 
Baigiangphanquery
BaigiangphanqueryBaigiangphanquery
Baigiangphanquery
 
Baigiangphanquery
BaigiangphanqueryBaigiangphanquery
Baigiangphanquery
 
Access: Chuong III Thiet ke truy van Query.ppt
Access: Chuong III Thiet ke truy van Query.pptAccess: Chuong III Thiet ke truy van Query.ppt
Access: Chuong III Thiet ke truy van Query.ppt
 
Auto cad nâng câo và lập trình autocad trần anh bình
Auto cad nâng câo và lập trình autocad   trần anh bìnhAuto cad nâng câo và lập trình autocad   trần anh bình
Auto cad nâng câo và lập trình autocad trần anh bình
 
bctntlvn (110).pdf
bctntlvn (110).pdfbctntlvn (110).pdf
bctntlvn (110).pdf
 
Maubaocao luanvan
Maubaocao luanvanMaubaocao luanvan
Maubaocao luanvan
 
Chiết lọc thông tin pháp luật trong dữ liệu văn bản.pdf
Chiết lọc thông tin pháp luật trong dữ liệu văn bản.pdfChiết lọc thông tin pháp luật trong dữ liệu văn bản.pdf
Chiết lọc thông tin pháp luật trong dữ liệu văn bản.pdf
 
Maubaocao luanvan
Maubaocao luanvanMaubaocao luanvan
Maubaocao luanvan
 
Chuong1 baigiang spss
Chuong1 baigiang spssChuong1 baigiang spss
Chuong1 baigiang spss
 
qdoc.tips_huong-dan-su-dung-wekapdf.pdf
qdoc.tips_huong-dan-su-dung-wekapdf.pdfqdoc.tips_huong-dan-su-dung-wekapdf.pdf
qdoc.tips_huong-dan-su-dung-wekapdf.pdf
 

Plus de Hung Pham Thai

Tai su dung sowdust sau trong nam
Tai su dung sowdust sau trong namTai su dung sowdust sau trong nam
Tai su dung sowdust sau trong nam
Hung Pham Thai
 
Ke hoach kd (keieijuku)
Ke hoach kd (keieijuku)Ke hoach kd (keieijuku)
Ke hoach kd (keieijuku)
Hung Pham Thai
 
Huong dan su dung biogel biosol tren ho tieu
Huong dan su dung biogel biosol tren ho tieuHuong dan su dung biogel biosol tren ho tieu
Huong dan su dung biogel biosol tren ho tieu
Hung Pham Thai
 
Essentials of trade_marketing_shared_class_students
Essentials of trade_marketing_shared_class_studentsEssentials of trade_marketing_shared_class_students
Essentials of trade_marketing_shared_class_students
Hung Pham Thai
 
Cco chien luoc-kinh_doanh-cco8 (2)
Cco chien luoc-kinh_doanh-cco8 (2)Cco chien luoc-kinh_doanh-cco8 (2)
Cco chien luoc-kinh_doanh-cco8 (2)
Hung Pham Thai
 
Biogel biosol black pepper pest and diseases romil 2014
Biogel biosol  black pepper pest and diseases romil 2014Biogel biosol  black pepper pest and diseases romil 2014
Biogel biosol black pepper pest and diseases romil 2014
Hung Pham Thai
 
42.10.4%20%20 bi kip_ban_hang._selling_for_dummies
42.10.4%20%20 bi kip_ban_hang._selling_for_dummies42.10.4%20%20 bi kip_ban_hang._selling_for_dummies
42.10.4%20%20 bi kip_ban_hang._selling_for_dummies
Hung Pham Thai
 
8.quyet dinh hop quy phan bon vo co
8.quyet dinh hop quy phan bon vo co8.quyet dinh hop quy phan bon vo co
8.quyet dinh hop quy phan bon vo co
Hung Pham Thai
 
1. cco cskh - tl hoc vien
1. cco   cskh - tl hoc vien1. cco   cskh - tl hoc vien
1. cco cskh - tl hoc vien
Hung Pham Thai
 
10 nutritional disorders of pepper
10 nutritional disorders of pepper10 nutritional disorders of pepper
10 nutritional disorders of pepper
Hung Pham Thai
 
Phan huu co phan vi sinh phan u
Phan huu co phan vi sinh phan uPhan huu co phan vi sinh phan u
Phan huu co phan vi sinh phan u
Hung Pham Thai
 
Mineral deficiencies in coffee
Mineral deficiencies in coffeeMineral deficiencies in coffee
Mineral deficiencies in coffee
Hung Pham Thai
 
Soil analysis examples and coffee nutrients
Soil analysis examples and coffee nutrientsSoil analysis examples and coffee nutrients
Soil analysis examples and coffee nutrients
Hung Pham Thai
 
Vegetables. growing asparagus in the home garden
Vegetables. growing asparagus in the home gardenVegetables. growing asparagus in the home garden
Vegetables. growing asparagus in the home garden
Hung Pham Thai
 
800 meo vat_trong_cuoc_song
800 meo vat_trong_cuoc_song800 meo vat_trong_cuoc_song
800 meo vat_trong_cuoc_song
Hung Pham Thai
 
Cac mon ngon_dung_lo_vi_ba
Cac mon ngon_dung_lo_vi_baCac mon ngon_dung_lo_vi_ba
Cac mon ngon_dung_lo_vi_ba
Hung Pham Thai
 
San local indicators coffee vietnam august 2012
San local indicators coffee vietnam august 2012San local indicators coffee vietnam august 2012
San local indicators coffee vietnam august 2012
Hung Pham Thai
 

Plus de Hung Pham Thai (20)

U phan huu co
U phan huu coU phan huu co
U phan huu co
 
Tai su dung sowdust sau trong nam
Tai su dung sowdust sau trong namTai su dung sowdust sau trong nam
Tai su dung sowdust sau trong nam
 
Ke hoach kd (keieijuku)
Ke hoach kd (keieijuku)Ke hoach kd (keieijuku)
Ke hoach kd (keieijuku)
 
Huong dan su dung biogel biosol tren ho tieu
Huong dan su dung biogel biosol tren ho tieuHuong dan su dung biogel biosol tren ho tieu
Huong dan su dung biogel biosol tren ho tieu
 
Essentials of trade_marketing_shared_class_students
Essentials of trade_marketing_shared_class_studentsEssentials of trade_marketing_shared_class_students
Essentials of trade_marketing_shared_class_students
 
Cco chien luoc-kinh_doanh-cco8 (2)
Cco chien luoc-kinh_doanh-cco8 (2)Cco chien luoc-kinh_doanh-cco8 (2)
Cco chien luoc-kinh_doanh-cco8 (2)
 
Biogel biosol black pepper pest and diseases romil 2014
Biogel biosol  black pepper pest and diseases romil 2014Biogel biosol  black pepper pest and diseases romil 2014
Biogel biosol black pepper pest and diseases romil 2014
 
42.10.4%20%20 bi kip_ban_hang._selling_for_dummies
42.10.4%20%20 bi kip_ban_hang._selling_for_dummies42.10.4%20%20 bi kip_ban_hang._selling_for_dummies
42.10.4%20%20 bi kip_ban_hang._selling_for_dummies
 
8.quyet dinh hop quy phan bon vo co
8.quyet dinh hop quy phan bon vo co8.quyet dinh hop quy phan bon vo co
8.quyet dinh hop quy phan bon vo co
 
1. cco cskh - tl hoc vien
1. cco   cskh - tl hoc vien1. cco   cskh - tl hoc vien
1. cco cskh - tl hoc vien
 
10 nutritional disorders of pepper
10 nutritional disorders of pepper10 nutritional disorders of pepper
10 nutritional disorders of pepper
 
Phan huu co phan vi sinh phan u
Phan huu co phan vi sinh phan uPhan huu co phan vi sinh phan u
Phan huu co phan vi sinh phan u
 
Mineral deficiencies in coffee
Mineral deficiencies in coffeeMineral deficiencies in coffee
Mineral deficiencies in coffee
 
Soil analysis examples and coffee nutrients
Soil analysis examples and coffee nutrientsSoil analysis examples and coffee nutrients
Soil analysis examples and coffee nutrients
 
Growing asparagus
Growing asparagusGrowing asparagus
Growing asparagus
 
Vegetables. growing asparagus in the home garden
Vegetables. growing asparagus in the home gardenVegetables. growing asparagus in the home garden
Vegetables. growing asparagus in the home garden
 
800 meo vat_trong_cuoc_song
800 meo vat_trong_cuoc_song800 meo vat_trong_cuoc_song
800 meo vat_trong_cuoc_song
 
Cac mon ngon_dung_lo_vi_ba
Cac mon ngon_dung_lo_vi_baCac mon ngon_dung_lo_vi_ba
Cac mon ngon_dung_lo_vi_ba
 
San local indicators coffee vietnam august 2012
San local indicators coffee vietnam august 2012San local indicators coffee vietnam august 2012
San local indicators coffee vietnam august 2012
 
Hat & cay
Hat & cayHat & cay
Hat & cay
 

Chuong 04 query

  • 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