Thủ th u ật Các kết quả của một totals query không luôn dễ hiồi.. Lượng nhó chi tiết trong các kết quả query có tỉiể làm cho khó thấy nhưng gì ma các gỉá trị tính loán được dụu vào.. Thự
Trang 1C hương 2: Để các Q uery làm phép toán 2 4 7
Đễ các Ọuerụ làm phép toán
N h ữ n g đ iế m c h ín h :
* Làin các p b é p tính trong các Qưery
^ > iét tr íj oiổh tuiiC cho p h ép loun
# Viỉợt rci khói sô học cơ ban
'íinb íoảìi }iQ,ay tbánii và /hơi Ịùĩ>/
K X ử ỉý texl l ởĩ các biển thức
Ị • Viổ! í ả t ì)iớiị i h ứ c fĩi!ci m ijìì]'C\' tĨỊi:ì>
^ Tạo cácparcim cter query linh hoạt
^ Tinh các lổng, tổng con, giá irị !r.ir:g binu
Trang 22 4 8 Chương 2: Để các Query làm phép toán
Trang 3C hương 2: Để các Q uery làm phép toán 2 4 9
ExtPr;ce, íQ ly l * [Un't Prlce)
# Tìitờiii' E x iP n r e trông Ịiố ìỉg n h ư hẩr h i’ Irrỉờnp k h ắ c
M C iứ lỉỊ CỈIỈỢC th ể b iệ n trong CỘI R xiP ricc b ả n g I'ở ig iá trị c ủ a tn ỉờ n g
Q ty n h â n t ú i trường Uiìií P iic e Irong m ỗ i cột.
12 OiO ỉim 6 S :o c < 7 k i« e (
13 Oid Time StocK Ticier
$ ' 9 8
s?.25 09
s ' 99 S7,9$
Trang 5C h ư ơ n g 2 : Đ ể c á c I ỉ u e r y là m p h é p t o á n 2 5 1
QỆX U ỷ -1 -
-Tponq tk ii^ l nqơ Ac**ss, Icxl trực kiĩ?fì nqkla lò Ỉ€>ct vẾn kfiồnq pkòi
lê n r i i o m ^ l ỈPƯỎnq nào ẩó kocỊc ắ ố i lư ợ n iỊ l^kác Tron<Ị k lil L a s tria m c
c c ih ể la iễ n của m ộ i lpưòn <5 Iponq rnột tđ n q tliì S rT iilíì, J o n e s vò 1 2 3
O ok Trc€ Lane ẩểu là níìứnq ví dg vể tfxt tpực l<lện Hõụ luôn ỉexl
Irực kiện fpcnq cổc dâu nqo^c kép (.**SmỉÌli ) t)oi VỚI một ví dụ
\ r i n ị \ ề i ù ' ó i |j i^^r, \ õ i ị rlic ^ » iììn Sò di;n'ị róc n(^ài| llió n q vd ilỉò i qỈGn fi’ực l^iện tponq bỉếu ìlỉ ức ỈPonq cỉiUCnq nđij.
O h é p chuỗi ( i ’õi các CỊini "H ííU o" & "T b e re " tr ả
tc x t la i với n h au ) về H plloT horo
Trang 6N ế u b ạ n là m ộ t c h u y ê n g ia to á n h ọ c th ậ t sự, b ạ n sẽ d á iìh giá cno rồ n g
th ê m h a i to á n tử có c ù n g th ứ cự líu tiê n n h ư p h é p n h â n và p h é p chirì
Trang 7t í n h n à o đ ó v à s a u đ ó t r ở v ề m ọ t g i á t r ị n à o đ ó N h ư n g c á c h b ạ n s ử ] ụ n g n i ộ t h à m t h ì k h á c M ọ i h à m c ó m ộ t t ê n t h e o s a u l à m ộ t c ặ p d â u
Trang 82 5 4 Chưđng 2: Để các Q uery làm phép toán
ÌL.
Cancel Ị
/ * & [ ■ > < <>| And Q r N o t L f t t f ( ) | P a s te ^ I
Trang 9Chương 2: Đ ể các Ouery làm phép toán 2 5 5
Trang 102 5 6 C h ư ơ n g 2; Đ ể c á c Q u e ry là m p h é p to á n
< í
ío ld e p Q u e P ij M om e tponq tx p p e s s iD n B u ild e p sẽ k liồ n q k iế n iỉiị t đ l cứ
q ì
M Poỉder BtiiU-In F unctio»s: Nến bạn Ịihẩp đôi dáti + k ổ b ê n /o ld e r Pìinctions, bai tỉiỳ cbọn Xìiất hiệỉi N hấp/oỉderB uiừ -ỉn Pnnctions đ ể thấy các hạng m ục và tên của các h à m có sẵn trong CỘI giữa Nhấp
m ột tên h ạ n g m ục ở CỘI giữa đ ề thấy trong cột phải, tên của các bàt ỉ
Trang 11C /tio J ù ix jn sử duri<^ m ột Ỉ ố i SỂ fu i) rliQ ii [ia ij k L ^ n q , kkônq ku o q iò CỊÕ
I iíiộ p cóc J đ u ngotỊc vuônq vòo hàm
M ộ t h à m l u ô r ( t ư ợ r t h í o s a u b ằ J i g c á c đ ấ u n g o ặ c đ c ín - t h ậ m c h í
n ế u h ã m k h ô n g c h ấ p n h ậ n c á c đ ố i s ô N o w ( ) , S q r ( 8 1 ) , v à P V ( a p r , T o t P m t s ,
I n c o r a c í.t l à c á c v í d ụ v ề c ú p h á p h a m t ií/ p ! ệ C ũ n g c h u ý r à n g k h i g ó
n h ậ p m ộ i; đ ố i s ố , b ạ n c ó t h ể s ử d ụ n g m ộ t g i á t r ị t r ự c k i ệ n ( n h ư t ê n ' S m i t l ; " h o ặ c s ú i.0 ) , ì T i ộ i t ê n ư ư ờ a ^ , Í Ì ( Ạ ‘ i n ụ t b i ể a t h ứ c L u n đ ố i s ô 3 &
b i ể u t h ứ c s a u đ â y đ ê u c h u y ể n c á c g i á t ĩ ' ị t r ự c k i ệ n ( l i t e r a l ) đ ê n c á c h à m '.■ỏa c h ú n g :
Trang 122 5 8 C h ư ơ n g 2: Đ ể c á c Q u e ry là m p h é p to á n
UCase([Company])
T r o n g c á c v í d ụ t i ế p t h e o , b ạ n s ử d ụ n g c á c b i ể u t h ứ c l à m đ ô l s ố :
S q r ( 2 2 7 ' [ H y p ũ t ] )
P V ([A p r]/1 2 ,[M o íith s]* 1 2 ,-r[A m o u n t])
U Case([First Name] & " " Ẵ [Last WameỊ)
Trang 13Chương 2: Để các Q uery iàm phép toán 2 5 9
Mế»j i đ n oư<,’c ỉr^v '^ ió p v é [>ó'l k iị íìò iT» froi>9 [ Ì A p i e s ỉ k n B u iM c r ,
h õ4 n liớ ix^n C Ế \ịìể tìm Iđ l cồ cki tiế f mồ c ầ r ì Irc n q liệ iíiỂ nq H e lp
Đ ịn h d ạ n g c á c s ố tín h toán tro n g c á c query
Trang 142 6 0 Chướng 2; Để các Query làm phép toán
Trang 15Bảng 2.3 Các hàm chuyển đấi cài săn chính
C hương 2 : Để các Query làm phép toán 261
Trang 162 6 2 Chương 2: Dể các Query làm phép toán
6.s% li S15C CDO 0 l, 3 ’:tó.ữ6
7 0 ^ 30 $150,000 S997.956.5% 15 S200.000 $1.742.21
- L
M o n th ly p a y m e n t (kh o ản th a n h to á n h à n g
th á n g ) tro n g k h u n g x e m d a ta s h e e ỉ Hình 2.6; Các phép tính Monthíy Paytìienỉ ỡưực thể hiện bằng định dạng Currency.
Trang 17Chướng 2: Đ ể các Ouery làm phép toán 2 6 3
Ho
T d tle ; Null v» lu « D
Sorti
Shộ.y ị p ] or.
Trang 182 6 4 Chương 2: Để các Q uery làtn phép toán
T rư ờ n g tin h to á n đưỢ c c h in h s ử a
N v i l O ^ R Ì Í i
V ro Hi)wM«ny
Hình 2.8: Hàm Nz() ỉrong control tính toán buộc Access sử dụng các giá trị zero thay vì
các giá trị rỗng aể tinh một kết quả.
Thủ thuật
Nếu bạn muốn cột th ứ ba tro ng hình 2.8 th ế hiện các kết quả bằng đ ịn h dạn^ Currency ($100.00, $0.00, $0.00, ), đật toàn bộ biẩJ thức troníỊ m ột hàm CCurO chẳng hạn nhưSubTotaỉ: C C u r' N 2 ([H ow M anyl) • N z ([P ric e ])l
B ạ n c ũ n g c ó t h ể s ử d ụ n g h à m I s N u l l O đ ể t e s t t ì m m ộ t t r ư ờ n g r ỗ n g ( X e m p h ầ n s a u " T e s t đ ể t ì m c á c t r ư ờ n g r ỗ n g " t r o n g c h ư ơ n g n à y đ ể b i e t
Trang 19Chương 2: Đê’ các O ụery làm phép toán 2 6 5
m ới ứó là ìip/iy cách n tư n ịà y ibdng goc 0<x»ìí; ció ÌI iKỢng tiiờig cho số ỉỉỉ’à v mà hạn cộ)ìg h(jặc írừ) Ví dụ, ĩ/ĩ/2 0 1 0 +
ịO trả về 1 / Ỉ Ĩ / 2 0 Ỉ 0 Ixhi ri 3 1 ibáng giông là 3 0 ngày san ngày ĩ thớug ^iẽn g K ết quả của 12/31/2000-999ià 4/7/1998, bởi i'ì ngay 7
1 , ĩ / : c c s ì :/31/2C C S 1/15/2CC9 1/1/2CC5
*
K h u n g x e m D a t a s h e e t
Hình 2.9 Các trường tính toán mẫu với các hàm Date trong một query Irong khung xem
Design và khung xem Datasheet
Trang 20Sử d ụ n g c á c n g à y th á n g v à thời gian trự c k iệ n tro n g c á c biểu thức
Trang 21C hương 2: Để các Query làm phép toán 2 6 7
Bảng 2.4 Cáu v i Uụ vè các h jiT < Access O ateTim e
N g à y của tliá n g dưứi dạjig D ay (#1'15/2004#) t r á về 15
m ộ t sô 'p iữ a 1 và 31 bởi vì 1/15/2004 rơ i vào
n g à y lí i 5 cùa tháiig.
G iờ củ a m ộ t th ờ i girm H o u r (Now()) t r ả vế m ột số
tư ợ n g trư íig cho giờ h iệ n
h à n h của ngày.
M onthN aine^m ontíxN um - T h á n g cùa m ột ngày thíúig M o n th N a m e (1 2 , F a ls f )
b e r,a b b re v ia te ) được v iế t r a dầy đù (nếu t r ả v ề D e c e m b e r
a b b re v ia te là false), được M on th N arn e (12, True) tr ả
v iế t t ắ t (n ếu a b b re v iate là v ề D ec (bdi vì th á n g 12 là
Trang 22Bảng 2.5 Các xác iập trong ứõ'í sô' ínterval cho các hàm D a ỉe /ĩim e vô'n dốỉ hỏi một
khoảng thời gian (interval)
2 6 8 Chương 2: Để các Q uery ỉàm phép toán
Trang 23R rs t Name] & “ “ & [Last Name
C hướng 2: Để các Query làm phép toán 2 6 9
K ế t q u ả ỉ à T o r i P i n e s c ó m ộ t k h o à n g t r ô n g ở g iữ a B i ế u t h ứ c n ó i
r ằ n g " n ộ i d u n g c ủ a t r ư ờ n g F i r s t N a m e t h e o s a u l à m ộ t k h o ả n g t r ô n g
r ồ i đ ế n n ộ i d u n g c ư a t r ư ờ n g L a s t N a i r e "
I^ỉíllll lliio
MỘ: c à iổ i Có C-tlìầu ũ â ì Z£iữ Md I>è Cđ Dản ỉủ c ^ Do õ ố tXũK^ iỉRi
^ & "" & f'.aĩt tui c i wộ: ;-^ì vĩó RỈ-Í Tõiis ^tcAS, tiếí; tHức E íiẰ S t ^ t ó ] & " " & [Lost KQitó.] íid ứí mộị tHíl qì đó ndu TbxiPtnes (tón ưâ Họ 'ek>*Ể{ cứ Qịi ồ qiaa),
Trang 24L eíU string,n) n k ý tự tậ n cù n g b ê n t r á i L eft(“a b cd efg '’, 3) t r ả VP
của s tr in g (chuỗi) abc
R ight{string,n) n k ý tự tậ n cùng b ên p h ả i R ig h t(“a b cd e fg ’', 2) t r ả về
của s tr ln g (:;hjỗi) fg
M iđ(string, s ta r tí, len g th ]) C á c ký tự có c h iề u d à i M id(“a b cm n y s”, 4 ,2 U rả VP.
( le n g t h ) v ừ a c ủ a c h u ỗ i b ắ t m n
đầu tạ i s ta r t
L en(string) chiều d à i của s tr in g L en(“H ow dy”) t r ả về 5
T rim (strin g ) s tr in g với b ấ t k ỳ k h o ả n g T rim (“ab c”) t r ả về abc
Trang 26K Q ty: Một tntòng N nm ber thôtĩg thường ỉữ bảng Order D etaiỉs U(Ợiig
tn ừ ig cho số b íợ n g m ón h à n g được đ ặ t m ỉia.
2 7 2 C hưdng 2: Dế các Query làm phép toán
Trang 27C hương 2: Để các Q uery làm phép toán 2 7 3
V n i t P r í c e ìA ọ t m(òny> C j:n en c^ ' h òh íi th ư ơ n g lù b ả n g CroOì D ứ -
ta iis tư ợ n g tr ư n g c h o c á c d ơ n r / c ủ a niậ! b à n g đ ư ợ c đ ặ t m ìiú
m E x t P r í c e M ộ t tr ư ờ n g Ih ih lo à n ExtPricứ: ÍQ ty ì 8 [V n it P riceì, n b ã u
n ộ i ciitug c ủ a t n ỉờ n g Q ty 1 ’ớ i n ộ i d u n g c ủ a in fờ )ig U n it P ric e
K S a l e s T a x R a t e : M ộ t tn ( ờ n g líìih to á n , S a lc sT a x R a te A i/((S ta te P ro i)]
= " íV y , 0 7 2 5 0 ) , c ó n g h ĩa là tn eờ n g S la ie P ro v c h ứ a NY, th ì đ ậ t 0 7 2 5 0
r à o tìK ờ n g n à y N ế ìi k b ô n g , đ ặ t o (z e r o ) i'à o í n ỉờ n g n à ỵ
9 S a l e s T e t A m t : M ộ t tr ư ờ n g l í n h : o á } i , S a ỉ e s T a x A m t C c t t r í[S a ỉe sT a x R a te ! * [E xtP rìceD , > ìbân g iá m ở r ộ n g v ớ i m ứ c t h ĩ i ế b á n
b à n g H à m C a i r O ỉà m c h o k ế l q u ả M u ii h i ệ n íh e o đ ịn h d ạ n g C iir-
r e ìic v t h a y r ì d i í ớ i d ạ n g m ộ t s ố G e n e ra l.
» T o t a l W i t b T a x : M ộ t ír tíờ n g tin h to á n , T o ta l\V ith T a x : ịE x tP ric e } +
ÍS n ỉesT axA m t] c ỘHQg i á m ở rô n g v ớ i li(ợn% t h i i ế b á n h à n g
•in u*r<M:t;ya ưv>aeM«'e«H
Hinn ỉ 10 ũ ie ry 'Ma c ic tư ờ n g tnõnp ỉhưcng và ỉ á : irucTng ỉínli toán (các trưòng
tính toán được che giấu).
Trang 282 7 4 Chương 2: Để các Query làm phép toán
Đ ể xem m ộ t trường rỗng là m ột zero tro ng các biểu thứ c toán học, sử dụng hàm
N z() được mô tả tro ng phần trước "tránh các vấn đề với các gia tri rỗng" trong chương này.
P hân loại th e o tên h o ặ c c ô n g ty
Trang 29C hương 2: Đ ể các Q uery làm phép toán 2 7 5
Trang 30-2 7 6 Chương 2: Đ ể cấc Query làm phép toán
c e n d i n g s è đ ặ t c á c r e c o r d v à o t h ứ t ự t h e o v ầ n c h ư c á i h ọ h o ặ c c ô n g t y ( n ế u k h ô n g c ó h ọ ) n h ư đ ư ợ c m i n h h ọ a t r o n g h ì n h 2 1 3
Trang 31T r o i i g h \ n h 2 1 4 , m ộ t , t h a m s ố M o n r h N u m o e r đ ư ợ c t ạ o c h ứ a m ộ t s ố
n í ĩ i ỉ v ê n T r o n g h à n g C r i t e r i a c h o t r ư ò 'n j ĩ O r d e r D a t e t r o n g l ư ớ i Q B E , u''.n t h a m s ố đ ư ợ c s ử d ụ n g t r o n g b i ò u I n ú e đ â y n h ư đ ư ọ c m i n h h ọ h
Trang 322 7 8 Chương 2: Dể các Query íàm ohép toán
Ẹn^ỉr Param eter Valuẹ
Numbẽr
91-1
Trang 33C hương 2: Để các Q uery làm phép toán 2 7 9
Trang 342 8 0 Chướng 2: Đ ể các Query làm phép toán
» N hấp n ú t ĩb ta ìs /ron g nbóm Sbow /H ide của ta b D e s iq n trê n R ihboỉi.
N hấp p h ả i lư ớ i q ì:e ;y v ù chọn TolaỈj từ m en n tất.
Trang 35hưdng 2; Đ ể các Q uery làm phép toán 281
Í < t 9 r i « ; ĩ < ĩ l / * % ) n 4 Í P i
5u»^ % * Or^UC 6v
vg
K m
-K ta
■íevrti ỉtDn v»f F»u
Trang 362 8 2 Chương 2: Đ ể các Query làm phép toán
í S ữ - p k P l o p p y t ) i» k & 26 $ 1 0 3 9 7 4 _ ị w a y C o ô l 5 c a n n « f a $ 2 6 9 9 7
P è n c H S h a r p ỉ r ộ 5 1 , 0 7 3 9 4 ' 6 i g S « j b t f O 0 f e r I
ỉ H n h “ r s « r r t ' " “ ị
• N i i m t a d i
Hình 2.17 Bản thiết kế query được minh họa trong hình 2.16 tạo Oatasheet này với
m ột dòng cho m ỗi PrcductlO (trường Group By).
N ửa dưới của h ìn h 2,17 m in h họ a k ế t q u ả của q u e ry đó tro n g k h u n g xem D a ta sh e e t C h ú n g t a có được tổ n g g iá m ớ rộ n g của các đơn đ ặ t
h à n g cho m ôi s ả n p h ẩ m riê n g lẻ Các tổ n g n h ó m lạ i th e o s ả n phẩm Dc
đó chúng t a b á n các cái còi v à n g (G olden W h istle s) có g iá t r ị 8200, các
K ozm ilk Video C a m e ra s có g iá trị $2000
Thủ th u ật
Các kết quả của một totals query không luôn dễ hiồi Lượng nhó chi tiết trong các kết quả query có tỉiể làm cho khó thấy nhưng gì ma các gỉá trị tính loán được dụu vào Thực tế việc thiếu chi tiết trong các query là lý do quan trọng nhất các report lốt hơn nhiều so vối các query dành cho các tong và tổng con Trong một report, bạn có thể đưa vào các chí tiết mà bạn muốn và sắp xếp mọi thứ theo cách sao cho bạn cổ thể dễ dàng nắm được ý nghĩa của mọi tổng tính toán bằng việc xem một report
Lọc các record dựa vào các trường tín h toán
B ạn có th ể lọc các reco rd dựa vào k ế t q u ả của m ộ t trư ờ n g tín h to án
G iả sử b ạ n m uôn thự c th i m ộ t query n h ư q u e ry tro n g h ìn h 2.16, nhiùig
b ạ n chỉ m uốn th ấ y các re c o rd m à tổ n g g iá m ở rộ n g lớn hơ n $100(X
T ro n g trư ờ n g hợ p đó chỉ việc mở rộ n g các h à n g C r ite r ia cho trư ờ ng tín h to á n s a n g > =1000 T ro n g k h u n g xem D a ta s h e e t, chỉ các s ả n p h ẩm
có các k ế t q u ả tổ n g b á n h à n g > = 1000 m ới x u ấ t h iệ n tr ê n m à n h ìn h
Trang 37Chương 3: Làm nhưng điều tiện lợi bằng các 2 8 3
Làm những điều tiện lợi
* 'l'âp hợp Iiuùinị Ibứ rải rác bằng Piỉhl {.'nmaiched \Vizard
9 \^ IIỊ rữfìg ì-inci D.'i/>licnĩes \X'izard
Ch vốn là loại q u ery p h ổ b iế n n h ấ t đưỢc tạ o r a bởi n h ữ n g người ương 1 của p h ầ n n à y t ậ p tn in g v.ìc \'iệc tạ o c á c í?e]ei't query dùng Access Dù vậy có t h ể b ạ n khô n g n h ậ n r a r ằ n g Access có các loại query k h ác Sử d ụ n g các a c tio n query đ ể thự c h iệ n các th a y đổi đối với
dữ liệu - ví dụ, b ạ n có th ể t h i ế t lập query đ ể thực h iệ n m ộ t th a y đổi đôl với t ấ t cả re c o rđ k h ớ p với tiêu chuẩn V à h a i q u e ry w iz a n d - F in d
D uplicates Q uery W iz a rd v à F in d ư n m a tc h e d Q uery W izard giúp b ạ n làm sạch dữ liệu tro n g cơ sở dữ liệu
Trang 38T ạo c á c A c tio n Q u e ry
Các actio n query là m ộ t cách đ ể th ự c h iệ n n h ữ n g h iệu c h ỉn h tổ n g
th ể đối với cơ sở dữ liệu C h ú n g rấ t m ạ n b , n g h ĩa là chúng có th ể hữu
dụng đ á n g k ể v à t i ế t k iệ m cho b ạ n n h iề u th ờ i g ian C h ú n g cũng có th ể làm h ư h ỏ n g đ á n g k ể cơ sở dữ liệu nếu được sử d ụ n g k h ô n g đúng
Các a c tio n q u ery r ấ t k h á c với các se le c t q u ery M ột s e le c t query
h iể n th ị dữ liệu đ á p ứng các tiê u ch u ẩn , m ộ t a c tio n query tìm d ữ liệu đáp ứng các tiê u c h u ẩn v à sau đó làm m ộ t điều ^ đó với nó c h ẳ n g h ạ n
n h ư thực h iệ n các th a y đổi dữ l i ệ u hoặc di ch u y ển các re c o rd đ ế n mộc
b ả n g mới
B ôn loại actio n query tư ơng ứng với bô”n tá c vụ r ấ t riê n g b iệ t B ạ n cố
th ể th á y r à n g tạo m ột actio n query sẽ tiế t k iệ m cho bạn vô sô th ờ i gian
n ếu b ạ n m uôn iàm b â t kỳ điều sau đây:
* X óa mô! số recurd (deỉete qiieĩy)
* Sí/O ch ép d ữ liệu từ hảng 7ỉàỵsang m ộ t b à n g k h á c (a p p ciìd q n e ìy )
thể bạn muôV) sao luU loàn bộ cơ sở dừ liệu hoặf chí các bảng mà querv ảnh hưởng đến
C ách th ò n g th ư ờ n g đ ể tạo m ộ t q u e ry là n h â p n ú t Q u ery W izard
h o ặc Q uery D esign tr ê n ta b C re a te của R ibbon K h i b ạ n tạ o m ộ t query
sử dụng m ột tro n g h a i phương p h á p n ày , A ccess tự động tạo m ộ t select query B ạ n có t h ể th a y đổi loại query của bâ't k ỳ q u e ry cho dù nó mới
h o ặc cũ Đê sử đ ụ n g loại query, chọn lo ại q u e ry m à b ạ n m uốn từ nhóm
Q u ery T ype của ta b D esig n tr ê n R ibbon (k h i q u e ry h iể n t h ị tro n g
k h u n g xem D esign) B ạn có t h ể chọn M ak e T a b le , A p p en d , ư p d a te hoặc D elete Q uery đ ể tạo m ộ t query)
Những rủi ro của n ú t Run
N h ư có t h ể b ạ n n h ậ n r a b â y giờ, các a c tio n q u e ry thự c h iệ n các th a y đổi; chúng k h ô n g chỉ h iể n th ị dữ liệu B ạ n cần b iế t là m t h ế n à o tạ o an
to à n m ộ t actio n q u ery m à k h ô n g ch ạy nó trư ớ c k h i b ạ n đ ịn h n g h ĩa xong ch ín h xác n h ữ n g gì b ạ n m uốn q u ery là m việc Đ iều cô^t y ế u là k h i
b ạ n sử d ụ n g các n ú t V iew v à R un v à cách b ạ n m ở query:
Trang 39Chướng 3: Làm những diều tiện lợi bằng các 2 8 5
I
:\ĩ'r
K K hi ỌỢÌỈ làrn riờ c Ị'ỡì n:ột s e k ’(" cỊi'e>y c ứ c iìú í Vieu nà Ritii là m
củng tnộl IHỘC.
!Ê K b i b ạ n l à m I ’i ẻ c i-ớ i t ì i ộ ! a d i v ỉ i ( Ị ỉíc r y c á c n ú t V i e i v ĩ ’à R i n i l à m
nbữno, côìiíị v i ệ c hoàỉi loàn khác nhau.
i\iíi Vieu’ h iể n thị khiiiiq x e » ì Ikitasììcet I'ới tất cả record khớp I'ới
c í ’.c tiéh cb tiẩ ìì chọn, cíâv là một cách lốt đ ổ x e m trước các record
nà o s ẽ th a v đ ổ i kh i bạii cb ạ v aclion qiieiy N ú t Viciv là m ột cách a n
lo a i đ ể x e m D a U ísb e e t Ciici 7)IỘ c c íio n q tie r y đ ỏ ih iíy qtic r)' s ỉ :àm
việc theo cá ch b ạ n m iiốỉi h a y không.
'tr \ú ỉ Run thực th i h à n h độn^ - xóã hoặc thay đồi d ữ liộìi tìvng cơ sở
Pun
clữ liệii B ạ n kh ô n g íh ổ Iiíỉd o bành dộng s a i t k h i bạ n n h ấ p n ú t Run
ír o n q m ộ l ciction q u e ry do d ó b â ỵ rcì! cá n t h ậ n B ạ iì íh ié t ỉậ p (Ịiiứìy
m ộ t cách c h in h x á c ín ỉớ c kh i chạy nó - f à h ã y bảo đ â m lưit các báng
hị ả n h hưởno phòiiq bờ >'ự cố.xàv yo Đ ể úm biểìi th&ìn r ề 1 ’iộc tạo
c á c h á n s o o Iư ìi c ù a ctôi tiỉợ n g Ciisở l iữ Ììộn, XCHÌ c h iíơ ìig 2 c ủ a p h ầ n
7)
liá o
'6’ọii CỎK Cẩn tíộn lWi C-đtH bỌH I«3 iKỘt acíion queẰi| nRu tRế Kào
CMaH CỚC aC.tiOK q u o q tuỗK IIqo iilc. muốn b đ t đàu KHì bọK Mổ a c tio ti
queUị til Cila s ổ 'Databasa bỏK^ CÚCẰ KỈáp đứ t 1Ỗ.K quot| ÍIdộC CÚC.H
cilọH *ố Oò KÍđp w it OpfcH Hễ.u c ả u ^ t c is s cilộL( q u íiii pRải tH ỉ
Hiển ^ilị Kó) Acc&ss cỏkR bóo iA*Sị bỌK sáp cllpq I«ột odtio* quêJa| ƯỔK tÍQií
ổ i i t c s ĩ c ' j i ì i í U U i ộ c 2 Ộ P t R í í c ic u c c t d X - M C Í ^ C ^ & r o j i d Ỉ £ X ' C “ í ố *
l2L( KÍílAq q ĩ t ó C-ío Oộ* Cũ ỉlộ: líílL i đ ổ i l\ đjnH j/ế lk (d t nHjnq q ỉ fr'ỌM MUổk ỉứ»i ià làm w«.c U £íi bdn tH iết teq cíláa c.íán nltóp p ltói queJa| Wi tHọK D<i 2 iqH ^Vìe.iư tư MÍ-KU td l-
Theo mặc định, Access tắt tất cả action query trừ khi cơ sở dữ liệu nằm ở một vị
Có t h ể k h i b ạ n cố c h ạ y m ộ t action query, k h ô n g có gì sẽ xảy ra ngo ại trừ m ộ t th ô n g báo tr o n g th a n h th ô n g báo h o ặc th a n h tr ạ n g t h á i
h iể n th ị T h is actio n o r e v e n t h a s been blocked by D isab led Mode Đây
là cách dễ n h ấ t đ ể th u y ế t phục Access chạy m ộ t a c tio n q u ery n h ư sau:
Trang 401 N ếu b ạ n k h ô n g th ấ y th a n h th ô n g báo, h iể n th ị nó b ằ n g cách chọn h ộ p k iể m M essag e B a r tro n g n h ó m S how /H ide của ta b
D a ta b a se Tools của Ribbon
T h a n h th ô n g báo x u ấ t h iệ n b ê n dưới R ibbon
2 N h ấ p n ú t O ptions tr ê n th a n h th ô n g báo đ ể h iể n th ị hộp th o ạ i
M icrosoft Office S ecu rity O ptions
3 N h â p E n a b le T h is C o n te n t đ ể cho p h ép các m acro, m ã v à action query chạy
Sự th a y đổi n à y chỉ kéo dài cho đến k h i b ạ n đóng cơ sở dữ liệu
L â n k ế tiế p b ạ n m d cơ sở dừ liệu, b ạ n sẽ p h ả i lặp la i n h ữ n g bước này
• • • • • • •
Thủ th u ật
Sau khi bạn nhâp nút Options, tùy chọn Message Bar trên tab Database Tools được tắt Nó sẽ được bật (enable) lần kè tiếp bạn mỡ cơ sở dử liệu
Tạo an toàn các action query
B ạn cần làm h o à n h ả o m ộ t action query trước k h i c h ạ y nó sao cho bạn k h ô n g là m h ỏ n g dữ liệu {Dĩ n h iê n , nếu p h ạ m sai só t, b ạ n có m ội bân sao lưu rồ i đ ú n g Ichông)? B ạn tạ o nó, xem nó, có th ể te s t nó tr ê n
v à i record tro n g m ộ t b ả n th ử n g h iệm rồ i cuôl cùng ch ạy nó
T iến tr ìn h tạ o m ộ t actio n query n h ư sau:
1 Sao lưu cơ sứ dữ liệu hoặc tạo các b ả n sao của các b ả n g m í action q u ery sẽ th a y đổi
■ ị Ậ é '
-B ổ ì vì c ó c o c ỉ i o n q u € P 4 c ó i k ế I d m Pốỉ n í i i ể u c ổ n q v i ệ c ( t ố f U ộ c x đ u ) liõ<j s a o l ư u I p ư ớ c ỉ^ỉij cliọL| q u ep i^.
2 T ạo q u ery dưới d ạ n g m ột select query
T ro n g cửa sổ D a ta b a se, n h ấ p n ú t Q ueries v à n h ấ p m ộ t tro n g các biểu tư ợ n g w izard T h ê m cac b ả n g (hoặc query) v à các trư ờ ng vào lưới th iế t kế Đ ịn h n g h ĩa các tiêu ch u ẩ n v à th ứ tự p h â n loảỉ