Professional Documents
Culture Documents
Microsoft Access v kh nng kt xut d liu cho php ngi s dng thit k
nhng biu mu v bo co phc tp p ng y cc yu cu qun l, c th vn ng
d liu v kt hp cc biu mu va bo co trong mt ti liu v trnh by kt qu theo
dng thc chuyn nghip.
Microsoft Access l mt cng c y nng lc nng cao hiu sut cng vic.
Bng cch dng cc Wizard ca MS Access v cc lnh c sn (macro) ta c th d dng
t ng ha cng vic m khng cn lp trnh. i vi nhng nhu cu qun l cao,
Access a ra ngn ng lp trnh Access Basic (Visual Basic For application) mt ngn
ng lp trnh mnh trn CSDL.
4.1. To mt i tng mi
Trong ca s Database, chn tab cha i tng cn to (Bng, Truy vn, Biu
mu, Bo co,...) hoc thc hin lnh
View/D atabase Object - Table/Query/Form/ReportPages/Macros/Modules
Chn nt New.
Ch ng 2 BNG D LIU
1. THIT K C S D LIU
Khi bt tay thit k CSDL, chng ta phi xc nh v phn tch cc thng tin mun
lu tr thnh cc i tng ring r, sau bo cho H QTCSDL bit cc i tng
lin quan vi nhau nh th no. Da vo cc quan h m H QTCSDL c th lin kt
cc i tng v rt ra cc s liu tng hp cn thit.
CC BC THIT K CSDL
Bc 5: Tinh ch, hiu chnh li thit k. Phn tch li thit k ban u tim li, to
bng d liu v nhp vo vi bn ghi, th xem CSDL phn nh th no vi nhng yu
cu truy xut ca chng ta, c rt c kt qu ng t nhng bng d liu khng.
Thc hin cc chnh sa thit k nu thy cn thit.
Trong mt CSDL c th cha nhiu bng, thng mi bng lu tr nhiu thng tin
(d liu) v mt i tng thng tin no , mi mt thng tin u c nhng kiu c
trng ring, m vi Access n s c th thnh nhng kiu d liu ca cc trng.
Trong MS Access c hai cch to bng, mt l cch dng Table Wizard, nhng
cc trng y MS Access t ng t tn v khng c bn tay can thip ca ngi s
dng. y, s a ra cch to mi bng hon ton do ngi s dng.
Trong ca s Database, chn tab Table (hoc Lnh View/Daatbase object - Table)
Chn nt New, xut hin hp thoi
Datasheet View: Trn mn hnh s xut hin mt
bng trng vi cc trng (tiu ct) ln lt Field1, field2
Design View: Trn mn hnh xut hin ca s
thit k bng, ngi s dng t thit k bng.
Table Wizard: Thit k bng vi s tr gip ca MS Access
Import table: Nhp cc bng v cc i tng t cc tp tin khc vo CSDL
hin thi.
Link table: To bng bng cch ni vo CSDL hin thi cc bng ca CSDL
khc.
Chn chc nng Design View, chn OK.
3.2. S dng Design View
Field Name: Tn trng cn t (thng tin cn qun l)
Data Type: Kiu d liu ca trng
Desciption: M t trng, phn ny ch mang ngha
t tn trng
Kiu d liu
tng thm tc x l khi nhp d liu cng nh cc cng vic tm kim sau
ny th vic quy nh d liu rt quan trng.
Cc trng trong ACCESS c cc thuc tnh sau:
3.2.1. Field Size
Quy nh kch thc ca trng v ty thuc vo tng kiu d liu
Kiu Text: Chng ta quy nh di ti a ca chui.
Kiu Number: C th chn mt trong cc loi sau:
Byte: 0..255
Integer: -32768..32767
Long Integer: -3147483648.. 3147483647
Single:-3,4x1038..3,4x1038 (Ti a 7 s l)
Double: -1.797x10308 ..1.797x10308 (Ti a 15 s l)
Decimal Places
Quy nh s ch s thp phn ( Ch s dng trong kiu Single v Double)
i vi kiu Currency mc nh decimal places l 2
3.2.2. Format
Quy nh dng hin th d liu, ty thuc vo tng kiu d liu.
Kiu chui: Gm 3 phn
<Phn 1>;<Phn 2>;<Phn 3>
Trong :
<Phn 1>: Chui nh dng tng ng trong trng hp c cha vn bn.
<Phn 2>: Chui nh dng tng ng trong trng hp khng cha vn bn.
<Phn 3>: Chui nh dng tng ng trong trng hp null
K t Tc dch vu du lchng
@ Chui k t
> i tt c k t nhp vo thnh in hoa
< i tt c k t nhp vo thnh in thng
Chui k t Chui k t gia 2 du nhy
\<k t> K t nm sau du \
V d
Kiu Number
nh dng do ACCESS cung cp
Dng D liu Hin th
General Number 1234.5 1234.5
Currency 1234.5 $1.234.50
Fixed 1234.5 1234
V d
nh dng Hin th
S dng hin th bnh thng
0;(0);;Null S m c bao gia 2 du ngoc
S zero b b trng
Null hin ch Null
Hin th du + pha trc nu s dng
+0.0;-0.0;0.0 Hin th du - pha trc nu s m
Hin th 0.0 nu m hoc Null
Kiu Date/Time
Cc kiu nh dng do ACCESS cung cp
Dng Hin th
General date 10/30/99 5:10:30PM
Long date Friday, may 30 , 1999
Medium date 30-jul-1999
Short date 01/08/99
Long time 6:20:00 PM
Medium time 6:20 PM
Short time 18:20
Cc k t nh dng
K t Tc dng
: (colon) Du phn cch gi
/ Du phn cch ngy
d Ngy trong thng (1-31)
dd Ngy trong thng 01-31)
ddd Ngy trong tun (Sun -Sat0
W Ngy trong tun (1-7)
WW Tun trong nm (1-54)
M Thng trong nm (1-12)
MM Thng trong nm (01-12)
q Qu trong nm (1-4)
y Ngy trong nm (1-366)
yy Nm (01-99)
h Gi (0-23)
n Pht (0-59)
s Giy (0-59)
V d
nh dng Hin th
Ddd,mmm d,yyyy Mon,jun 2, 1998
Mm/dd/yyyy 01/02/1998
Kiu Yes/No
Cc kiu nh dng
nh dng Tc dng
Yes/No ng/Sai
True/False ng/Sai
On/Off ng/Sai
K t Tc dng
0 Bt buc nhp k t s
9 Khng bt buc nhp, k t s
# Khng bt buc nhp, s 0-9, khong trng, du + v -
L Bt buc nhp, k t ch
? Khng bt buc nhp, k t ch hoc khong trng
a Bt buc nhp, k t ch hoc s
A Khng bt buc nhp, k t ch hoc s
& Bt buc nhp, k t bt k
C Khng bt buc nhp k t bt k
< Cc k t bn phi c i thnh ch thng
> Cc k t bn phi c i thnh ch hoa
! D liu c ghi t phi sang tri
\<K t> K t theo sau \ s c a thng vo
V d
3.2.7. Required
C th quy nh thuc tnh ny bt buc hay khng bt buc nhp d liu cho
trng.
Required Tc dng
Yes Bt buc nhp d liu
No Khng bt buc nhp d liu
3.2.8. AllowZeroLength
Thuc tnh ny cho php quy nh mt trng c kiu Text hay memo c th hoc
khng c th c chui c di bng 0.
) Ch : Cn phn bit mt trng cha gi tr null ( cha c d liu) v mt trng
cha chui c di bng 0 ( C d liu nhng chui rng ).
AllowZeroLength Tc dng
Yes Chp nhn chui rng
No Khng chp nhn chui rng
3.2.9. Index
Quy nh thuc tnh ny to ch mc trn mt trng. Nu chng ta lp ch mc
th vic tm kim d liu nhanh hn v tin hn.
Index Tc dng
Yes( Dupplicate OK) To ch mc c trng lp
Yes(No Dupplicate ) To ch mc khng trng lp
No Khng to ch mc
3.2.10. New value
Thuc tnh ny ch i vi d liu kiu auto number, quy nh cch thc m
trng t ng in s khi thm bn ghi mi vo.
New value Tc dng
Increase Tng dn
Random Ly s ngu nhin
MS Access khng chp nhn cc gi tr trng nhau hay trng (null) trong
trng kha chnh.
Thc hin lnh Edit - Primary Key hoc nhp chn nt trn thanh cng c ca
mc ny .
hy b kha chnh hoc cc thit lp th thc hin lnh View - Indexes, trong
hp thoi ny chn v xa i nhng trng kha thit lp:
5. LU BNG
Sau khi thit k xong, ta tin hnh lu bng vo CSDL, c th thc hin mt trong
hai thao tc sau:
Chn trng cn xa
Thc hin lnh Edit - Delete Rows
Mun xem thng tin trong mt bng chng ta phi chuyn bng sang mt ch
hin th khc gi l Datasheet. Trong ch hin th ny, mi bn ghi c th hin trn
mt hng ngang, hng u tin l cc tn trng.
Sau khi hon thnh cng vic thit k cu trc bng, ta tin hnh nhp d liu, tc
l b sung cc bn ghi, cho bng. Hin th bng ch hin th Datasheet, mi hng i
din cho mt bn ghi. y c cc k hiu chng ta cn bit cng dng ca chng
Bn ghi mi
T hp phm Tc dng
Tab Sang k tip
Shift Tab Sang pha trc
Home n u dng
End n cui dng
Ctrl Home n bn ghi u tin
Ctrl End n bn ghi cui cng
Shift F2 Zoom
khng ph thuc vo iu ny, ta nn chn font trc khi tin hnh nhp d
liu. Trong ch hin th Datasheet, thc hin lnh Format - Font...
Khi nhp d liu l trng cho trng OLE Object, ta thc hin nh sau: Lnh
Edit - Object...
nh du chn bn ghi:
Chn Edit/Select Record: chn bn ghi hin hnh
Chn Edit/ Select all Record chn ton b
7.2.5. Xa bn ghi
Chn cc bn ghi cn xa, sau thc hin lnh Edit - Delete (hoc nhn phm
DELETE) .
02 Hng N K26
03 Lan Hu K25
03 Hng N K26
Trong quan h nhiu nhiu, mi bn ghi trong bng A c th c khng hoc nhiu
bn ghi trong bng B v ngc li mi bn ghi trong bng B c th c khng hoc nhiu
bn ghi trong bng A.
9.2. Sp xp d liu
9.2.1. sp xp trn mt trng
t con tr ti trung cn sp xp
Thc hin lnh Records/ Sort/ Sort Ascending (Nu sp xp tng dn)
/ Sort Descending (Nu sp xp gim dn)
9.2.2. sp xp trn nhiu trng
Ch ng 3 TRUY VN (QUERY)
V d:
Cho 2 bng d liu KHOHANG (MAHANG, TENHANG, GIA)
BANHANG(MAHANG, TENKHACH, SOLUONG, NGAYMUA). Hy hin th nhng
khch hng mua hng trong thng 7 bao gm cc thng tin: MAHANG, TENHANG,
GIA, TENKHACH.
Sau khi thc hin truy vn, d liu tha mn yu cu c rt ra v tp hp vo
mt bng kt qa gi l Dynaset (Dynamic set). Dynaset cng hot ng nh 1 bng
(Table) nhng n khng phi l bng vfa kt qu khi hin th c th cho php sa i.
Mt loi bng th hin kt qu truy vn khc l Snapshot, n tng t nh
dynaset tuy nhin khng th sa i thng tin ( Nh truy vn Crosstab....).
1.1. Cc loi truy vn trong Access
Select Query : Truy vn chn
Crosstab Query : Truy vn tham kha cho (Th hin dng v ct)
Action Query : Truy vn hnh ng gm
Truy vn to bng (make table Query )
2. CC CH HIN TH TRUY VN
2.1. Ca s thit k truy vn (Design view).
Trong ch ny, ngi s dng c th to, sa cha mt truy vn no . Mn
hnh truy vn cha hai phn, phn th nht cha cc bng (hoc truy vn) tham gia truy
vn, phn th hai gi l vng li QBE (Query By Example).
2.2. Ca s hin th truy vn (DataSheet view).
S dng ch ny xem kt qu.
2.3. Ca s lnh SQL (SQL view).
S dng ch ny xem m lnh ca truy vn ang to
3. TO TRUY VN
3.1.To mi 1 truy vn
Trong bng Show Table chn tables hin th cc bng, chn cc bng tham gia
vo truy vn v nhn nt Add, sau nhn Close. (Nu chn Queries th hin th truy
vn, chn both th hin th c truy vn v bng d liu).
a cc trng t cc bng vo tham gia truy vn bng cch ko cc trng v th
vo hng Field trong vng li QBE.
Trong hng Sort: Sp xp d liu (nu c)
Trong hng Criteria t tiu chun (nu c)
Lu truy vn.
) Ch
Mi truy vn c:
Ti a l 32 bng tham gia.
Ti a l 255 trng.
Kch thc ti a ca bng d liu (do truy vn to ra) l 1 gigabyte.
S trng dng lm kha sp xp ti a l 10.
S truy vn lng nhau ti a l 50 cp.
S k t ti a trong ca vng li l 1024.
S k t ti a trong dng lnh SQL l 64000.
S k t ti a trong tham s l 255.
3.2. Thay i th t, xa cc trng
Cc trng trong truy vn s hin th theo th t nh xut hin trong vng li
QBE.
3.2.1.Thay i th t ca trng
a con tr vo thanh chn sao cho con tr bin thnh hnh mi tn tr xung
3.6. nh th t sp xp
C th s dng nhanh trong ch datasheet View .
3.8. Mi quan h gia thuc tnh ca trng trong truy vn v trong bng d
liu
Theo mc nhin, cc trng trong truy vn k tha tt c cc thuc tnh ca trng
trong bng lm ngun d liu. Nu khng quy nh li trong truy vn, cc trng trong
Dynaset hoc snapshot lun k tha cc thuc tnh ca bng lm ngun d liu. Nu thay
i thit k trong bng lm ngun d liu v thay i thuc tnh ca cc trng th thuc
tnh ny cng c thay i trong truy vn. Tuy nhin, nu quy nh li cc thuc tnh
cho cc trng trong truy vn th cc thuc tnh ca cc trng trong bng lm ngun d
liu khng thay i.
Mun thc hin cc php chn trong khi th hin truy vn ngi ta thng s dng
cc php ton sau:
Php ton V d ngha
< <#20/10/99# Trc ngy 20/10/99
> >#10/10/98# Sau ngy 10/10/98
>= >= #05/05/90# Sau v trong ngy 05/05/90
<> <>#01/01/99# Khc ngy 01/01/99
= = #10/10/97# Trong ngy 10/10/97
Between .... and Between #1/2/97# and #1/7/97# T ngy 1/2/97 n 1/7/97
...
V d:
Cho 2 bng d liu Dslop(Malop, Tenlop, Nganh_hoc, khoahoc)
Dssv(Masv, malop, hotensv, ngaysinh, quequan, giotinh, hocbong)
To mt truy vn hin th danh sch nhng sinh vin c ngaysinh trong khong thi
gian t 05/05/75 n 05/05/79 bao gm cc trng: Tenlop, Hotensv, Ngaysinh,
nganh_hoc.
To truy vn chn v a 2 bng dslop v dssv vo tham gia truy vn
a cc trng Tenlop, hotensv, ngaysinh, nganh_hoc vo vng li QBE
Trong hng Criteria ca trng Ngaysinh: Between #05/05/75# and #05/05/79#
4.2.2. K t thay th
K t * : Thay th mt nhm k t bt k.
K t ? : Thay th 1 k t.
K t [ ] : Thay th cc k t trong ngoc vung.
K t ! : Ph nh.
K t - : T k t n k t.
V d
Cho 2 bng d liu Dslop(Malop, Tenlop, Nganh_hoc, khoahoc)
Dssv(Masv, malop, hotensv, ngaysinh, quequan, giotinh, hocbong)
To mt truy vn hin th danh sch nhng sinh vin c Tenlop bt u l "T" bao
gm cc trng: Tenlop, Hotensv, Ngaysinh, nganh_hoc.
To truy vn chn v a 2 bng dslop v dssv vo tham gia truy vn
a cc trng Tenlop, hotensv, ngaysinh, nganh_hoc vo vng li QBE
Trong hng Criteria ca trng Tenlop: Like "T*"
To mt truy vn hin th danh sch nhng sinh vin khng c hc bng bao
gm cc trng: Tenlop, Hotensv, hocbong.
Nu trong biu thc chn ca truy vn, cc tnh ton tham chiu n cc trng
phi t trong du [ ], trng hp tham chiu n trng ca bng khc phi ch r bng
ngun ca n. [Tn bng]![Tn trng].
4.2.8. To trng kiu biu thc
V d
Cho 2 bng d liu Dssv( Masv, hotensv, ngaysinh, quequan, gioitinh)
Dsdiem( Masv, mamon, diem_lan1, diem_lan2)
To truy vn hin th cc thng tin: Hotensv, mamon, diem_lan1, diem_lan2, dtb,
trong dtb=(diem_lan1+ diem_lan2*2)/3.
) Ch
Sau khi thc hin truy vn chng ta khng th thay i gi tr trong trng kiu
biu thc, tuy nhin nu thay i gi tr trong trng tham gia biu thc th kt qu trong
trng kiu biu thc cng thay i theo.
4.2.9 .Chn gi tr duy nht
Theo mc nh, access s chn tt c cc bn ghi tho mn iu kin, tuy nhin i
khi c nhiu gi tr ging nhau c lp i lp li, do c ng d liu th chng ta
c th quy nh thuc tnh duy nht trong khi hin th
Thuc tnh Unique-values
Chn Yes: Khng th hin cc gi tr trng nhau
Chn No: Th hin cc gi tr trng nhau
Thuc tnh Unique-Records
Chn Yes: Khng th hin cc bn ghi trng nhau
Chn No: Th hin cc bn ghi trng nhau
4.2.10. Chn cc gi tr u
Khi nhp d liu vo Dynaset, chc nng t ng tm kim d liu cho php
chng ta ch nhp d liu cc trng ca bng bn "nhiu" ( quan h 1-) cn Acces
s t ng tm kim d liu tng ng trn bng "1" hin th.
Chc nng Auto Lookup hot ng trong cc truy vn m hai bng tham gia c
mi quan h 1-.
To mt truy vn c s dng chc nng Auto Lookup chng ta thc hin:
To truy vn v a 2 bng vo tham gia truy vn
a trng lin kt cu bng bn nhiu vo vng li QBE
a cc trng cn hin th d liu ca bng bn "1".
) Ch : Khi nhp d liu ch nhp d liu cc trng ca bng "nhiu"
6. TNH TNG TRONG TRUY VN CHN
Trong thc t, chng ta thng c nhng cu hi t ra v vic nhm d liu no
, chng hn trong thng 10 cng ty xng du XYZ bn c bao nhiu lt xng, tng
thnh tin bao nhiu?
Trong Access chng ta c th thc hin mt s php tnh ln mt nhm bn ghi
bng cch dng truy vn tnh tng
Mt s php ton thng s dng
Php ton ngha
) Ch : Khi thc hin truy vn Total, d liu trong bng kt qu ca n trnh by khng
th chnh sa.
6.1. To truy vn tnh tng
To truy vn chn v a cc bng vo tham gia truy vn
Thc hin lnh: View/Totals
Trong vng li QBE:
Ti hng Field chn cc trng
Total chn cc php ton tng ng.
Criteria: Chn iu kin gii hn tnh tng (Nu c)
Lu v thc hin truy vn
Ta c th thay i tiu ct trong khi thc hin truy vn tnh tng nh sau
Access s theo th t t tri sang phi trng bn tri l nhm mc cao hn, trng
k tip theo l nhm mc thp hn.
V d:
To truy vn tnh tng thanhtien ca mi mt hng bn c theo tng nm no
?
To truy vn v a 2 bng dshang v dskhach vo tham gia truy vn
Chn View/Totals
a cc trng tenhang, ngaymua, thanhtien vo vng li QBE
Ti hng Total ca trng tenhang chn php ton Group by
Ti hng field ca trng ngayban s dng hm year([ngayban]) v ti hng total
chn php ton Group by.
Ti hng Total ca trng Thanhtien chn php ton Sum.
Thay i tiu ct trong truy vn.
6.5. Lp biu thc chn cho cc trng dng nhm khi tnh tng
Cng nh vi nhng truy vn khc, chng ta c th lp biu thc chn cho truy
vn tnh tng theo tng nhm.
thc hin cng vic ny, chng ta lp biu thc iu kin ngay hng Criteria
ca trng group by.
V d:
To truy vn tnh tng thanhtien ca mi mt hng bn c trong nm 1999.
To truy vn v a 2 bng dshang v dskhach vo tham gia truy vn
Chn View/Totals
a cc trng tenhang, ngaymua, thanhtien vo vng li QBE
Ti hng Total ca trng tenhang chn php ton Group by
Ti hng field ca trng ngayban s dng hm year([ngayban]) v ti hng total
chn php ton Group by.
Ti hng Total ca trng Thanhtien chn php ton Sum.
Ti hng Criteria ca trng ngaymua: g vo gi tr 1999
Thay i tiu ct trong truy vn.
Cch to
To truy vn mi v a cc bng tham gia vo truy vn
V d:
Hy to mt truy vn hin th tng thanhtien ca mi mt hng bn c trong
mt nm no (Nm c nhp t bn phm).
To mt truy vn chn, a bng Dshang v dskhach vo tham gia truy vn.
a cc trng tenhang, ngayban, thanhtien vo vng li QBE.
Chn View/Totals
Trong hng Total: Chn Group by i vi trng tenhang, v year([ngayban])
Trong hng Criteria i vi trng Ngaysinh, ta chn tham s sau:
[Nhap vao nam ban hang].
Cch to
To truy vn chn v a cc bng vo tham gia truy vn
a cc trng vo vng li QBE
Chn Query/Crosstab
Quy nh trng lm tiu ct
Ti hng Total: Bt buc chn php ton Group by
Ti hng Crosstab: Chn Column heading
Quy nh trng lm tiu hng
Ti hng Total: t nht mt trong cc trng phi chn php ton Group by
Ti hng Crosstab: Chn Row heading
Quy nh trng tnh gi tr
Ti hng Total: Chn php ton thch hp
Ti hng Crosstab: Chn Value
V d:
Cho 2 bng d liu Dstruong(matruong, tentruong, sodt)
Danhsach(matruong, hoten, ngaysinh, gioitinh, xeploai)
To mt truy vn Crosstab phn nh tng s lng sinh vin xp mi loi ca
trong tng trng bao nhiu.?
To truy vn v a 2 bng d liu vo tham gia truy vn, a cc trng
tentruong v xeploai vo vng li QBE. (Trng Xeploai a vo 2 ln)
Chn Query/ crosstab query
Ti hng Total ca trng tentruong: Chn php ton Group by, hng crosstab:
chn Row heading
Ti hng Total ca trung Xeploai: Chn php ton Group by, hng Crosstab chn
Column heading.
Ti hng Total ca trung Xeploai: Chn php ton Count, hng Crosstab chn
Value.
9. TRUY VN HNH NG
Truy vn to bng (Make table query): To bng mi t mt bng hay nhiu bng
tn ti d liu.
Truy vn cp nht (Update query): Dng cp nht d liu cho mt hoc nhiu
trung trong bng d liu.
Truy vn xo (Delete query):Xo cc bn ghi tho mn cc iu kin t mt hay
nhiu bng d liu.
Truy vn ni (Append query): Ni mt s bn ghi t mt hoc nhiu bng d liu
vo sau mt hoc nhiu bng d liu khc.
9.2. Truy vn to bng
Truy vn to bng s to ra mt bng mi bng cch rt cc bn ghi tho mn cc
iu kin no .
Cch to truy vn
to truy vn to bng chng ta to truy vn chn v a bng vo tham gia truy
vn. a cc trng vo vng li QBE
Chn query/ make table query
Trong mc Table name: t tn mi cho bng mun to.
Chn Current Database: CSDL hin thi
Another Database: To bng trong CSDL khc.
Chn cc iu kin (Nu c).
9.3. Truy vn xo
Truy vn xo gip chng ta loi b cc bn ghi tho mn mt s iu kin no
Cch to truy vn
to truy vn xo chng ta to truy vn chn v a bng vo tham gia truy vn.
Chn query/ Delete query
Trong vng li QBE ti hng Field chn cc trng cn so snh vi iu kin xo
Ti hng Delete: Chn php ton Where
Ti hng Criteria: Chn iu kin xo
V d:
To truy vn xo nhng sinh vin c matruong l "SP"
) Ch
Trong truy vn ni d liu th cc trng c ni vi nhau tng ng phi cng
kiu d liu. Nu cc trng tng ng khng c cng kiu d liu th s khng c ni.
Nu cc trng c Field size khng ph hp th tu theo vic ni d liu m s ct bt
hoc thm vo k t trng.
Ch ng 4 NGN NG SQL
Ngayban Date/time 8
To mt truy vn thng k xem mi loi hng bn c vi s lng l bao nhiu?
Select mahang, sum([soluong])
From banhang
Group by mahang;
To truy vn thng k xem mi loi hng trong thng 7 bn c vi s lng bao
nhiu? Ch hin th nhng loi hng m s lng bn trn 20.
Select mahang, sum([soluong])
From banhang
where month([ngayban])=7
Group by mahang
having sum([soluong])>20;
3. 3.Truy vn tham kho cho
C php
Transform <Value Express>
Select......From.......Where.......
Group by <Row Heading Field>
Pivot <Column heading Field>
Chc nng: To truy vn tham kho cho
V d
Transform sum([soluong])
select Mahang, tenhang, sum([soluong]) from dskhang
Group by tenhang
Pivot Mahang;
3.4. Truy vn to bng
C php
Select <Field select> into <New Table name)
From <Old Table name>
[Where <Condition>]
3.7. Truy vn xo
C php
Delete <Table.*>
From <Delete Table name>
[Where <Condition>]
Chc nng: Dng to mt truy vn xo cc bn ghi trong bng theo mt hoc
nhiu iu kin no .
) Ch : nu mnh From ch c 1 bng duy nht th khng cn lit k cc bng trong
mnh DELETE.
V d:
C 2 bng d liu DSHS v DSDTHI c quan h 1-1 trn trng MAHS. Hy xo
nhng hc sinh c im thi <5 trong bng DSHS v DSDTHI.
Delete DSHS.*
From DSHS INNER JOIN DSDTHI ON DSHS.MAHS=DSDTHI.MAHS
Where diem<5.;
3.8. To mi quan h gia cc bng
Mun to mt truy vn truy xut d liu t 2 hay nhiu bng th phi to cc
mi quan h gia cc bng .
C php
........ From <Table name 1> inner join <Table name 2> ON <Table name 1>.<Field
name1>=<Table name 2>.<Field name 2>.........
Hoc
.........From <Table name 1> Left join/ Right join <Table name 2> ON <Table name
1>.<Field name1>=<Table name 2>.<Field name 2>...........
V d:
To truy vn gm : Matruong, tentruong, hoten t 2 bng Dstruong v DSHS da
vo trng lin kt Matruong.
Select Matruong, tentruong, hoten From Dstruong inner join dshs on
Dstruong.matruong=dshs.matruong;
V d:
Cho 3 bng d liu Dstruong( Matruong, tentruong)
Dskhoa(Matruong, tenkhoa, Makhoa)
DSSV(Makhoa, Hoten, Ngaysinh, quequan)
To mt truy vn hin th danh sch sinh vin thuc mi khoa ca mi trng
Select Distinctrow
Matruong, tentruong, tenkhoa, hoten
From Dstruong inner join (Dskhoa inner join DSSV ON Dskhoa.Makhoa=DSSV.Makhoa)
ON Dstruong.Matruong=Dskhoa.Matruong;
) Ch
C th s dng lin kt ngoi tri Left join hoc phi Right join
3.9. Truy vn con (Sub query)
Truy vn con l mt mnh Select.....From........Wheres c lng ghp vo mt
trong cc mnh sau:
Select.......From......Where
Select.......Into................
Insert........Into................
Delete.........
Update.........
C php
Select...........From...........Where.......
<Biu thc so snh> ANY|SOME|ALL <Mnh truy vn con>
<Biu thc tm kim> IN | NOT IN <Mnh truy vn con>
EXIST | NOT EXISTS <Mnh truy vn con>;
Chc nng: To mt truy vn con
Gii thch cc tham s
<Biu thc so snh>: L mt biu thc v mt php ton so snh.
<Biu thc tm kim>: L mt biu thc m tp hp kt qu ca truy vn con s
c tm kim.
Dng ni (Kt hp) d liu cc trng tng ng t 2 hay nhiu bng hoc truy
vn vo trng.
C php: Select .........From.........Where......
UNION | UNION ALL
Select...........
Chc nng: To truy vn hi
Gii thch:
UNION: Khng mun cc bn ghi trng nhau hin th
UNION ALL: Hin th cc bn ghi trng nhau
V d:
Cho 2 bng d liu DHSVIEN( Hoten, Lop, Matruong, Diachi)
CDHSVIEN( Hoten, Lop, Matruong, Diachi)
S dng truy vn hi lit k Hoten, Lop, Matruong ca sinh vin 2 h (a hc,
Cao ng).
Select Hoten, Lop, Matruong from DHSVIEN
UNION Select Hoten, Lop, Matruong from DHSVIEN
Lit k Hoten, Lop ca nhng sinh vin 2 h v c qu qun Hu
Select Hoten, Lop from DHSVIEN
UNION Select Hoten, Lopfrom DHSVIEN Where Diachi=Hu;
Ch ng 5 BIU MU
2. TC DNG V KT CU CA BIU MU
S dng biu mu tng kh nng nhp d liu, tit kim thi gian v ngn nga
cc li do nh sai. Chng hn thay v g vo cc gi tr ca tt c cc trng chng ta c
th to nhng danh sch (gi l combo box) chn trn biu mu (y l phng cch
p dng rt hiu qu trnh nh sai d liu).
Biu mu cung cp mt hnh thc trnh by ht sc tin nghi xem, nhp v hiu
ch cc bn ghi trong CSDL. Access cung cp cc cng c thit k biu mu h tr rt c
lc cho chng ta trong vic thit k nhng biu mu d s dng m li c th tn dng
c cc kh nng:
Quen thuc vi ngi s dng v n ging cc biu mu trn giy thng thng.
C th tnh ton c.
C th cha c biu .
2.2. Kt cu ca biu mu
cc trng hay ly d liu t cc trng ra xem. V d dng Text box nhp hay
hin th chui v s, dng Object frame th hin hnh nh.
3. TO BIU MU
3.1. To biu mu t ng vi Autoform
Access cung cp chc nng Autoform cho php chng ta to biu mu da trn cc
bng hoc truy vn c xy dng trc .
Cch to
Trong ca s Database, chn form, chn New
Trong mc Choose the table or query Where
the object's data comes from:
Chn bng hoc truy vn lm ngun d liu cho form.
Chn Autoform Columnar: Nu mun to lp biu mu dng ct, trong mi
trng trong bng hay truy vn l mt dng.
Chn Autoform Tabular: Nu mun to lp biu mu dng hng, trong mi
trng trong bng hay truy vn l mt ct v mt bn ghi trong mt dng.
Chn Autoform Datasheet: Nu mun to lp biu mu theo dng bng, trong
mi ct tng ng mt trng v mi dng l mt bn ghi.
Chn OK.
V d
Cho bng Danhsach( Tenphong, hoten, ngayden, ngaydi, thanhtien)
Hy thit k biu mu da trn chc nng Autoform s dng bng Danhsach lm
ngun d liu.
) Ch
Page header v Page footer ch xut hin trong trang biu mu in nn chng khng
c nhng tnh cht thng thng nh Form header v Form footer.
Chn View/ Page header/ footer (Nu 2 thnh phn ny cha xut hin trn biu
mu).
Chi tit form (Detail): y l phn rt quan trng cha cc iu khin nhm trnh
by cc dng d liu t cc bng d liu hoc cc truy vn. Cc loi iu khin c th l
iu khin buc, khng buc hoc tnh ton.
5. CC LOI IU KHIN
Tt c thng tin trn biu mu c cha trong nhng i tng gi l iu khin
(Control). iu khin c th dng th hin d liu, thc hin cc hnh ng hoc thit
k biu mu p mt. Trong ACCESS h thng nh ngha mt s loi iu khin nh
sau:
iu khin nhn (Label).
iu khin hp vn bn (Text box).
iu khin nhm la chn (Option group).
iu khin loi hp Combo (Combo box) v hp danh sch (List Box).
Ngoi ra cn c mt s iu khin khc nh command button.....
tng Field List m danh sch cc trng ca bng hay truy vn lm nn tng cho biu
mu. Theo mc nh nh vy th h thng s to mt iu khin loi Text box.
Mt cch khc dng hp dng c Toolbox to iu khin v sau g tn
trng mun buc vo hp vn bn.
M hp danh sch trng
M biu mu trong ch Design (To biu mu trc).
Trong ca s Database Chn Form/New (Cn bng hoc truy vn lm nn cho biu mu).
Chn View/Field List hoc click vo biu tng Field List trn thanh cng c).
To mt Text Box b buc
Sau khi to biu mu, bin i mt s thuc tnh ca iu khin c th hon thin
thm v thit k v hnh thc trnh by ca s liu.
Nhp kp vo iu khin.
Trong hp la chn trn u bng thuc tnh, chn mt lp thch hp lm vic.
All Properties: Trnh by tt c cc thuc tnh ca iu khin
Data Properties: n nh cc c tnh th hin d liu trong iu khin nh gi tr
mc nhin, nh dng s.
Even Properties: Qui nh mt tp lnh (Macro) hay th tc (Procedure)..
Layout Properties: nh ngha cc hnh thc ca iu khin nh cao, rng.
Other Properties: Mt s thuc tnh khc nh tn iu khin, thng tin m t
dng trng thi.
Click chn mt trong cc thuc tnh ca bng thc hin.
6. NNG CP BIU MU
Access cung cp nhiu loi iu khin lm cho biu mu d s dng v c nhiu
hiu ng tt. C th thay th mt Textbox vi mt List box hay Combo box chn t
cc gi tr c sn thay v buc ngi s dng phi nh nhp gi tr vo.
6.1. Dng iu khin List box v Combo box to danh sch chn la.
Trong nhiu trng hp, chn mt danh sch c sn thng tin li hn phi nh
g vo t bn phm. Access cung cp hai kh nng iu khin to danh sch chn la:
List box v Combo box.
List box n gin l mt danh sch chn, combo box tng t nh mt text box
v mt combo box kt hp vo mt iu khin, c ngha l c th g thng gi tr vo text
box hay chn t mt danh sch c sn.
u im ca List box: Danh sch lun c th hin v ngi dng ch c
php chn trong danh sch, do d liu nhp lun lun l hp l.
u im ca Combo box: Danh sch khng c th hin cho n khi ngi
dng m hp iu khin, do t tn ch trn biu mu hn.
6.2. To List box v Combo box khng s dng Wizard
Tt chc nng Control Wizard trong menu View hoc trong thanh cng c.
Click biu tng List box hoc Combo box trong hp cng c.
To iu khin buc bng cch click biu tng Field list trn thanh cng c
m danh sch trng lm nn cho biu mu. Chn mt trng trong danh sch ko vo
biu mu, hoc to iu khin khng buc bng cch click biu mu ni mun t iu
khin.
Lp cc thuc tnh ca iu khin nh ngha cc hng dng lm chn la trong
danh sch.
Mun danh sch th Lp thuc tnh Row Source Type Lp Row Source thnh
hin thnh
Cc hng t mt bng Tn ca bng hay truy
hay truy vn Table/Query (Default) vn
Cc hng ly t lnh
Select ca SQL Table/Query (Default) Mt cu lnh SQL
Mt danh sch vi cc Danh sch cc gi tr
gi tr do ngi dng t Value List phn cch nhau bi du
t chm phy
Tn cc trng trong mt Tn ca bng hoc truy
bng hoc truy vn Field List vn
Cc gi tr nh ngha bi
mt hm trong Access Tn hm xy dng trng
Basic
nh ngha ngun d liu hnh thnh cc hng dng lm trong danh sch la
chn trong List box v Combo box bng cch lp thuc tnh thch hp cho RowSource
Type v RowSource ca iu khin, hai thuc tnh ny phi hp vi nhau to nn cc
hng trong danh sch.
Thuc tnh RowSource Type cho bit danh sch s hnh thnh t ngun d liu
loi no, thuc tnh RowSource l thuc tnh xc nh ngun d liu ca danh sch.
6.2.2. Danh sch ly d liu t bng hay truy vn
C th to List box hay Combo box ly d liu t mt hoc nhiu trng trong
bng ( hoc truy vn) lp thnh danh sch chn la cho iu khin. Thc hin iu ny
bng cch t thuc tnh RowSource Type thnh Table/Query v RowSource thnh tn
bng hay tn truy vn c cha d liu lp thnh danh sch .
6.2.3. To danh sch nhiu ct
C th to danh sch gm hai hay nhiu ct c thm thng tin la chn. Xc
nh s ct bng cch lp thuc tnh Columcount v ColumnWidth cho iu khin. Thuc
tnh columcount quy nh s ct v nu trong RowSource l tn mt bng hay truy vn th
cc trng u tin tng ng s ct ca bng hay truy vn (tnh t tri sang phi) s
c a vo danh sch. Thuc tnh columnwidth quy nh b rng mi ct tnh theo inch
hay cm.
6.2.4. S dng danh sch gi tr
Trng hp iu khin ch c mt s nh chn la v cc gi tr ny khng thay
i, c th dng phng php n gin l danh sch gi tr. Danh sch ny chng ta t lp
bng cch a cc gi tr dng lm chn la vo thuc tnh RowSource ca iu khin.
S dng du chm phy phn cch cc mc chn la ca danh sch.
6.3. S dng hp kim tra (check box), nt chn la (Option button), nt bt
tt (Toggle button).
Hp kim tra, nt chn la, nt bt tt thng c s dng nh cc iu khin
c lp nhn cc chn la Yes/No. Cc iu khin ny thc cht ch khc nhau v hnh
thc, do chng ta c th s dng bt c nt no.
Khi c chn iu khin ny biu din tr Yes ( hay True), trng thi khng chn th
nhn gi n No ( hay False).
Check box : c chn khi c du x trong hp.
Option button : c chn khi c ht u trong nt.
Toggle button : c chn khi n trng nh b nhn xung.
Chng 6 BO CO (REPORT)
1. TNG QUAN V BO CO
3. TO IU KHIN TRONG BO CO
3.1. Toiu khin Text Box (Hp vn bn)
Text box c nhiu tnh nng, c th l iu khin b buc, khng buc hay dng
tnh ton. Nu trong bo co c c 3 loi iu khin ny, chng ta nn u tin iu khin
b buc trc.
To mt text box b buc v khng buc
Chng ta buc iu khin Text box vo mt trng bng cch ch nh trng cho text
box ly d liu. Text box ly d liu c th thc hin bng cch ko trng mun
buc vo iu khin t danh sch trng (Field List) vo biu mu ang thit k.
Cch khc to Text box l dng hp cng c (Toolbox), sau g tn trng
mun buc vo hp vn bn hoc bng thuc tnh ca iu khin.
Dng danh sch trng l phng php tt nht to mt iu khin Text box b buc
v hai l do sau:
iu khin c h thng t ng gn nhn v nhn ly tn trng c ko
lm tiu .
Text box b buc tha k cc thit lp thuc tnh ca trng t bng hay truy
vn.
Mun chuyn mt iu khin khng buc thnh b buc, lp thuc tnh Control
Source ca iu khin thnh mt trng.
Ch ng 7 MACRRO
1. KHI NIM
Macro trng MS Access l tp hp cc lnh (Hnh ng, hnh ng......) c nh
sn nhm t ng thc hin chui cc tc v no m khng cn s can thip tng bc
ca ngi s dng. Macro c th lin kt cc i tng trong tp tin c d liu (CSDL)
nh: Table, Query, form, report....... nhm to ra cc ng dng khai thc c hiu qu..
Macro c dng khi c cc hnh ng no thng xuyn lp li trong MS Access
hoc c dng khi cn kt hp cc hnh ng n gin nhm gii quyt mt vn no
khi xy dng cc ng dng. Vic t ng ho cc hnh ng ny bi macro s c
thc hin mt cch nhanh chng v chnh xc.
2.TO V THI HNH MT MACRO
2.1.To mt macro
Ti ca s database, chn i tng Macro/ New
Trong mc Action : chn cc hnh ng cho Macro.
Tong mc Action arguments: Chn cc tham s
tng ng cho hnh ng.
Lu tr Macro: File/save.
Data mode:
Add: Dng nhp d liu
Edit: Dng thm, xo, sa d liu trong bng
Read Only: M bng ch xem d liu
Open Query: M 1 truy vn
Query name: Tn truy vn cn m
View: Chn dng th hin ca bng (Datasheet/ Design/ Print Preview
Data mode:
Add: Dng nhp d liu
Edit: Dng thm, xo, sa d liu trong bng
Read Only: M bng ch xem d liu
Open Form: M 1 biu mu
Form name: Tn biu mu
View: Chn dng th hin ( Form/ Design/ Print preview/ Datasheet)
Filter name: Tn Query lc cc d liu hin th trong form.
Where condition: iu kin lc d liu hin th trong form.
Data mode:
Add : Dng nhp d liu
Edit : Dng thm, xo, sa d liu trong bng
Read Only : M bng ch xem d liu
Window mode:
Normal : Dng ca s form bnh thng.
Hidden : Dng ca s form c n i.
Icon : Ca s form thu nh thnh 1 biu tng.
Dialog : Dng hp thoi.
Open Report: M 1 bo co
Report name: Tn bo co
View: Chn kiu in
Print preview:In ra mn hnh.
Requery: Cp nht d liu cho mt i tng ang hot ng bng cch cp nht li d
liu ngun ca i tng .
Control name: Tn ca i tng cn cp nht d liu (Nu khng ch ra th s cp nht
li d liu ngun ca chnh i tng ang hot ng).
Select Object: Chn i tng trong CSDL
Object Type: loi i tng cn chn.
Object name: Tn i tng cn chn
In Database Window: (Yes/No) Xc nh MS access c chn i tng trong ca
s CSDL khng, mc nh l No.
Set value: Gn mt gi tr cho 1 trng, 1 iu khin, hoc mt thuc tnh trn mt Form
hoc 1 Report.
Item:Tn trng, i tng hay thuc tnh mun gn gi tr.
Expression: Biu thc cn gn gi tr cho Item.
$ Ch : Nu tn trng, tn i tng, tn thuc tnh 1 Form hoc 1 Report khc th
phi m t y .
Trong Form khc: [Forms]![Tn Form]![Tn trng/Tn i tng]
Trong Report khc: [Reports]![Tn Report]![Tn trng/Tn i tng]
i vi cc thuc tnh
[Forms/Reports]![Tn Form/Tn Report]![Tn trng].[Tn thuc tnh]
Add menu: To thm mt Drop Down Menu vo mt menu bar cho mt form
hoc Report.
Menu name: Tn ca Drop Down Menu mun thm vo menu bar.
Menu macro name: Tn macro cha cc lnh v vic to menu.
Status bar: Thng bo thanh trng thi khi chn menu ny.
Apply Filter: Lc (Truy vn) cc d liu khi x l Table, Form, Report.
Filter name: Tn ca truy vn lc d liu.
Where condition: iu kin lc d liu.
FindRecord: Tm bn ghi u tin nm trong phm vi v tho mn iu kin.
L Macro cha cc macro con, thay v to ra nhiu macro vi nhiu tn khc nhau
th cc macro ny c gom li thnh mt tn chung nhm gim bt s lng v thun li
trong qu trnh s dng. Tuy nhin cc Macro c nhm khi chng c lin quan vi
nhau.
C th c nhiu Macro trong nhm c cng hnh ng, tuy nhin chng c phn
bit bi tn Macro.
t tn cho Macro ta thc hin:
Ti ch thit k Macro:
View/Macro name
t tn cho Macro ti ct Macro name.
Cch thc hin 1 macro trong macro name
<Tn Macro Group>.<Tn Macso cn thc hin>
4.2. Macro c iu kin
L macro c cha cc iu kin thi hnh cho mi hnh ng.
Cch to Macro c iu kin
Ti ch thit k Macro: Chn View/Conditions
Ti ct Condition : t iu kin thi hnh cho mi hnh ng.
V d
Chn command, trng mc Categories chn New menu v ko sang thanh menu
va to.
BI S 1
Khi ng MSACCESS, to mt CSDL c tn NHANSU.MDB ri ln lt to
cc bng d liu sau
Bng 1: Nhanvien
STT Fieldname Data Type Fieldsize Note
1 Manv Text 4 Kho chnh
2 Holot Text 20
3 Ten Text 10
4 Ngaysinh Date/time 8
5 Gioitinh Yes/No 1 Yes:Nam, No:Nu
6 Maphong Text (Lookup) 2 Ly t bng Dsphong
7 MaPXuong Text (Lookup) 2 Ly t bng dspxuong
8 Diachi Text 30
9 Ghichu Memo
Bng 2: Dsphong
STT Fieldname Data Type Fieldsize Note
1 Maphong Text 2 Kho chnh
2 Tenphong Text 30
3 Sodthoai Text 11
Bng 3: Thunhap_NV
Bng 4: DSpxuong
BI S 2
1. M CSDL NHANSU.MDB trong bi thc hnh s 1 ri thc hin cc nhim v sau:
t kho chnh cho trng Manv (nhanvien), Maphong(dsphong),
manv(thunhap_nv) v mapxuong (dspxuong).
Thit lp cc mi quan h gia cc bng d liu theo s sau
BI S 3
Bng 1: Loaisach
Bng 3: Docgiatra
Bng 4: : Nhaxban
BI S 5
To mt CSDL c tn QLSV.MDB, ri to cc bng d liu sau:
Bng 1: DSSV
Bng 2: DSDIEM
Bng 3: DSLOP
Bng 3: DSMON
Bng DSTRUONG
Bng DSKHOA
Bng DANHSACH
Bng BANGDIEM
) Ch
c. Chn MASV, MAKHOA, HOTEN ca nhng sinh vin sinh trong khong thi gian
t 20/10/74 n 20/10/76 trong bng DANHSACH.
e. Chn nhng sinh vin c tn THANH sinh trong thng 10/76 hoc c HOCBONG
trong khong t 150000 n 200000.
b. To mt truy vn tham s thng k xem s lng sinh vin sinh trong mi thng
ca nm 1979 ca mi khoa l bao nhiu?
b. Tng HOCBONG thm 100.000 cho nhng sinh vin c MASV bt u l A trong
bng DANHSACH.
c. Gim HOCBONG i 50.000 cho nhng sinh vin c nm sinh t 1975 n 1978
hoc nhng sinh vin c tn NHAN.
b. To mt truy vn xo nhng sinh vin sinh trong khong thi gian t 20/10/74 n
20/10/76 hoc c HOCBONG=120.000.
BI S 7
S dng CSDL QLSV.MDB trong bi tp s 5 thc hin cc yu cu sau:
1. To mt form c tn Nhaplop nhp d liu cho bng dslop nh sau:
BI S 8
GVMONHOC(MAGV, MAMON)
3. To bo co hin th danh sch sinh vin trong tng lp hc, bao gm c ngnh hc,
trong cc sinh vin cng mt lp th tn lp c nhm li vi nhau.
4. To bo co hin th danh sch gio vin ging dy cc mt hc cho mt lp no
.
5. To bo co hin th danh sch gio vin tham gia ging dy cc mn hc cho
nhiu lp hc, trong cc gio vin ging dy cc mn hc cho mt lp hc c nhm
li vi nhau.
6. To bo co hin th im thi cc mn hc ca mt sinh vin.
7. To bo co hin th im thi mt mn hc ca mt lp no .