1. Trang chủ
  2. » Cao đẳng - Đại học

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

24 856 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 24
Dung lượng 486,63 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

CrossTab Query Query tham chi u chéo... 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à

Trang 1

Ch ng IV:

QUERY-TRUY V N D LI U4.1 Gi i thi u:

Query là công c cho phép truy v n và x lý d li u, rút trích hi n th nh 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 khinhìn s li u qua Query, b n th c hi n các thao tác s a ch a thì các s a ch a ó l i có

hi u l c ng c l i lên trên nh ng Record c a chính các Table ã tham gia s d ng Khicho th c hi n m t Query, Microsoft Access thu th p các s li u t các Table khác 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” (dynamicdataset) ngh a là d i hình th c m t b s li u “s ng ng”, ph n nh tình tr ng s li 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

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 thay nhi u Table và hi n th k t qu trong m t datasheet và ó b n có th c p nh trecord v i m t s h n ch nh t nh B n có th s d ng Query nhóm nh ng record

i và th c hi n tính t ng (SUM), m (COUNT), trung bình c ng (AVERAGE) và m t sphép tính t ng h p khác

4.2.2 Delete query (Query xóa s li u)

Xóa m t nhóm các record t m t hay nhi u Table Ví d : b n có th s d ngDelete 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ácTable d phòng, trích rút các record t m t ho c nhi u Table l u tr tr c khi xóacác record này kh i các Table hi n hành

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

Trang 2

t nhóm s li u theo ch ng lo i và hi n th s li u d i hình th c c a m t B ngtính kèm theo s c ng ngang và c ng d c Lo i này r t thích h p cho t o s li u c scho các báo bi u (report) và th (Chart).

4.3 M t s thu t ng

Query Wizard: Là t o Query v i s h tr c a Microsoft Access Thông th ngsau khi thi t k Query b ng Query Wizard b n ph i chuy n sang ch Design Viewthi t k l i cho phù h p v i nhu c u c a b n

Design From Scratch: Cách thi t k này th ng c dùng cho nh ng ng i kháthành th o Microsoft Access Trong tài li u tôi ch t p trung vào cách làm này

Parameter Query: u có m t Query mà khi thi hành ph i nh n c các giá trthông s t o ra k t qu tùy theo thông s ó thì g i là Parameter Query Các Querydùng vào b t k m c ích nào (nh Select Query, Append Query, Delete Query, ) n 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:

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

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

Trang 3

4.4.2 CrossTab Query cho

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

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

Trang 4

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 cvuông: [Tên Bi n]

Có hai lo i bi n:

1 Bi n tr ng: Có th hi u nh là bi n n i Khi tên bi n gi ng nh tên tr ngtrong 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 ntham 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 ParameterValue” i m c ích là yêu c u ta nh p giá tr cho bi n tham s ó

Ví d : Trong Query có bi n tham s : [Nganh Nao:].

Khi thi hành, Query s hi n th ra h p tho i Enter

Parameter Value ta nh p giá tr cho bi n

Select query không k t nhóm: T p h p

li u t nhi u Table và s p th t Select query có k t nhóm:

Trang 5

Chú ý: Khi nh p giá tr t bàn phím vào,

Access m c nhiên hi u giá tr ó có ki u Text,

u này có th d n n vi c tính toán sai Do v y

trong tr ng h p ta mu n báo cho Microsoft

Access hi u giá tr mà ta nh p vào thu c ki u d

li u khác thì ta ph i quy nh l i Trình t làm nh

sau:

1 R_Click vào vùng thi t k ch n

Parameter ho c vào menu Query\Parameter

p tho i xu t hi n nh bên c nh

2 Nh p tên bi n vào c t Parameter và ch n

ki u d li u cho bi n trong c t Data Type

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

th là bill[!] i di n cho m t ký t b t k không xu t

hi n sau d u !

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

th là bell-

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

ch nh vùng theo th t t ng d n (t A

n Z nh ng không th t Z n A)

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

103, 113, 123

Chú ý:

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

Trang 6

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

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

Like

- Cú pháp: <BT> Like <m u>

- Trong ó: BT: Bi u th cchu i; <m u>: Là m t chu i ký

có th bao g m c ký t i

di n

- Ý ngh a: Cho k t qu là True n u <BT> tho mãn

<m u>, ng c l i cho k t quFalse

"aBBBa" Like "a*a" True

"F" Like "[A-Z]" True

"F" Like "[!A-Z]" False

"a2a" Like "a#a" True

"aM5b" Like "a[L-P]#[!c-e]"

True

"BAT123khg" Like "B?T*" True

"CAT123khg" Like "B?T* False

Between

Cú pháp:

<BT> Between GT1 And GT2

- Trong ó: BT là bi u th c,GT1, GT2 là các giá tr

- Ý ngh a: Cho k t qu là True n u giá tr c a BT n m

trong kho ng GT1 n GT2,

ng c l i cho k t qu là False

4 Between 2 And 9 True

10 Between 1 And 3 False

#08/10/1977# Between

#01/10/1977# And #05/06/1979#

True

Trang 7

Cú pháp:

- BT in(GT1, GT2, GT3, )

- Trong ó: BT là bi u th c,GT1, GT2 là các giá tr

- Ý ngh a: Cho k t qu là True

u giá tr c a BT n m trongkho ng các giá tr GT1, GT2,GT3, , ng c l i hàm cho k t

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.

Trang 8

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êntrong 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òngtrong vùng l i QBE g m có:

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

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

Trang 9

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

3 c 3: T o các field m i cho Query.

Ch n các c t s hi n th trong truy v n b ng cách: Kéo chu t c a các c t t

ng xu ng vùng l i QBE ho c D_Click t i c t ó ho c ch n tên c t trongdanh sách các c t t i dòng Field trong vùng l i QBE (xem l i 4.6)

4 c 4: Thi t l p các u ki n và thu c tính c a field, query (xem 4.7.3

– 4.7.4)

d ng các thành ph n trong vùng l i QBE trên các c t t o truy v n có

p x p d li u (dòng Sort-n u s p x p nhi u dòng s u tiên s p x p t tráisang ph i); l c d li u (dòng Criteria); hi n th d li u hay không (dòng Show)

5 c 5: u query (File\Save).

Thí d :

o truy v n hi n th danh sách các hóa n theo th t t ng d n c a s hóa n

và mã khách hàng thu c Kho 3 và Kho 10 Các thông tin hi n th g m có: SOHD (S

hóa n), NGAYHD (Ngày hóa n), LOAIHD (Lo i Hóa n), MAKH (Mã khách hàng), TENKH (Tên khách hàng), DIACHIKH a ch khách hàng), MAKHO (Mã kho), TENKHO (Tên kho), DIACHIKHO a ch kho hàng), TRIGIA (Tr giá hóa n)

Query c thi t k theo yêu c u trên ch Design có d ng nh sau:

Trang 10

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 ratoán t OR).

u ý:

li u cho truy v n.

4.7 M t s thao tác trên Query

Query, Delete Query, Make - Table Query.

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 nQBE thì chúng ta ph i chèn thêm b ng ó vào Ng c l i, n u m t b ng n m trong vùng

ch a các b ng c a truy v n mà không có s d ng n a (truy v n không c n n thông tin c a b ng này) thì chúng ta s lo i b nó ra kh i truy v n.

Thêm b ng

1 Trong c a s thi t k QBE ta m h p tho i Show Table: Click vào nút Show Table ; ho c click ph i vào vùng ch a các b ng và ch n Show Table; ho c vào Query\Show Table.

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

Trang 11

Xóa m t b ng trong truy v n:

- Cách 1: Ch n b ng mu n xóa r i nh n phím Delete ho c ch n Query\Remove Table.

- Cách 2: Click ph i vào b ng mu n xóa, ch n Remove Table.

c Chèn thêm dòng tên b ng (Table) vào vùng l i QBE

ôi khi m t truy v n òi h i ph i c n d li u trên nhi u b ng khác nhau Tuynhiên, gi a các b ng này có th có các c t trùng tên nhau Do ó, th y c c t th

hi n trên vùng l i QBE là c a b ng nào thì chúng ta nên chèn dòng tên b ng (Table)vào vùng l i QBE

Cách hi n/ n c t Table: View\Table Names ho c click ph i vào vùng l i, ch nTable Names

d Chèn thêm c t vào vùng l i QBE: Insert\Columns

Trong quá trình t o Query, có th mu n chèn thêm m t c t m i n m tr c c 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 othêm các c t m i cho truy v n thì chúng ta ph i th c hi n chèn thêm m t c t vào truyn

e Xóa c t trong vùng l i QBE

Ch n c t c n xóa r i nh n phím Delete ho c vào Edit\Delete.

4.7.2 T o các c t tính toán c ho c m t bi u th c trong truy v n.

Trong m t truy v n ngoài th hi n các c t d li u s n có trong các b ng, chúng tacòn có th t o các c t m i c tính toán t các c t có s n b ng cách xây d ng cá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:

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

Trang 12

(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 ý:

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

[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).

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

(Control) nào ó cho Query.

4.7.3 M t s thu c tính c a c t trong Query

Thông th ng khi ta s d ng bi u th c tính toán c (Calculated Field) trongQuery, ôi khi giá tr th hi n không úng nh ta mong mu n, thay i l i cách hi n

th ta ph i quy nh l i thu c tính c a chúng B c làm nh sau:

+ Caption: Tiêu c t (xu t hi n ch Datasheet View ho c Run)

Ví d : Mu n th hi n c t NGAYHD trong Query theo d ng mm/dd/yyyy (tháng

/ngày /n m) và tiêu c t là Ngày hóa n thì chúng ta nh d ng thu c tínhFormat t i c t này nh sau:

4.7.4 Thu c tính c a Query.

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

Ngày đăng: 22/12/2016, 13:33

TỪ KHÓA LIÊN QUAN

w