Professional Documents
Culture Documents
Access.2000 UDS PDF
Access.2000 UDS PDF
GII THIU
Gio trnh ny l s c kt kinh nghim ca tc gi trong ging dy cc kho
o to v Access cng nh kinh nghim s dng Access lm h qun tr c s d
liu v cng c pht trin phn mm. Hu ht ni dung trnh by trong gio trnh
u bm theo nhng bi tp thc hnh c th. Do vy, sau khi c xong v thc
hnh theo trnh t cun sch ny, bn c gn nh c th thit k v xy dng c
nhng ng dng v qun l thng tin. C th y l: Qun l lng cn b mt c
quan v Qun l bn hng ti mt ca hng.
i tng chnh ca gio trnh l sinh vin, hc sinh cc trng THCN h
chuyn CNTT cng nh khng chuyn CNTT c hc mn Access. Tt nhin cng
hon ton ph hp cho nhng ai quan tm hc hi mn hc ny bi l cc ni dung
u c trnh by rt trc quan, c th t v kt qu r rng.
Thi lng thit k 75 tit. Trong 24 tit l thuyt, 46 tit thc hnh v 5 tit
dnh cho kim tra. Tu theo mc ng dng ca tng trng, ngnh vo mn hc
ny m mi n v s chn cho mnh mt qu thi gian cng nh cc ni dung
ging dy ph hp t gio trnh ny.
Bi m u
Bi ny s trnh by tng qut v mn hc; gii thiu v Access lm sao hiu
c Access dng lm g? Phn bit c vi mt s phn mm c hc
nh Pascal, Foxpro, Word, Excel, Cui cng bn c s hiu c mi trng
lm vic ca Access v thc hin vo ra v qun l cc tp d liu.
Chng 1: Xy dng c s d liu (CSDL)
Chng 1 tp trung vo nhng kin thc c bn gip c th xy dng CSDL
Access mt cch chc chn; c bit th hin qua qui trnh xy dng mt CSDL
tng kt c ni dung ton b chng hc.
Chng 2: Truy vn d liu
Tp trung vo cc kin thc v k nng gip x l d liu mt cch a dng
thng qua cc loi Query.
Chng 3: Thit k giao din
Chng ny trnh by cc khi nim cng nh nhng k thut, k nng c th
thit k c nhng giao din phn mm thng qua vic s dng Form v cc cng
c i km.
Trang 1
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
Chng 4: In n
Bao gm cc kin thc cng nh k nng cn thit thit k cc mu biu in
n a dng s dng cng c Report ca Access. Hn na kt hp vi Form, s gii
quyt c cc bi tp mang tnh tng hp, hon thin.
Ni dung t chng 1 n chng 4 mang tnh cn bn. Nhng chng tip
theo mang tnh chuyn ngnh v nng cao hn.
Chng 5: Lp trnh VBA cn bn
Chng ny cung cp nhng khi nim cn bn v mi trng, cch lm vic v
lm vic trn nhng bi ton n gin s dng ngn ng lp trnh VBA. y l c
s tip cn tt hn trong chng tip theo- lp trnh CSDL.
Chng 6: Lp trnh CSDL
Trnh by nhng khi nim, nguyn tc, cng c v nhng k nng rt cn bn
v lp trnh CSDL ni chung cng nh lp trnh CSDL Access bng VBA ni
ring. Kt thc chng ny c th x l c CSDL rt a dng, thc t v hon
ton c th dng Access pht trin cc CSDL thnh nhng sn phm phn mm
hon chnh.
Chng 7: Menu & Toolbar
Cung cp nhng kin thc, nhng k nng cui cng c th hon thin mt
CSDL Access thnh phn mm ng gi, hon chnh.
Nguyn Sn Hi
Trung tm Tin hc - B Gio dc v o to
T: 0913.382.686.
Email: nshai@moet.edu.vn
* ngh ghi r xut s khi s dng bt k ni dung no ca gio trnh ny!
Trang 2
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
BI M U
To tp Access mi;
Mi trng lm vic;
M tp Access tn ti;
Trang 3
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
Trang 4
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
- Phi tha nhn giao din s dng c nhng tin b vt bc. Cc thao tc
s dng t i, n gin hn v giao din rt thn thin;
- Cng ngh truy cp d liu ADO ActiveX Data Objects hon ton c th
thay th cng ngh trc y s dng trong Access l DAO Data Access
Objects bi nhiu l do c v cch thc s dng ln nhng ti u v k
thut. Chng ti s gii thiu k cng ngh ny trong Phn 2 cun gio trnh;
2. Khi ng
C khi ng Access theo nhiu cch:
Trang 5
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
Sau khi ra lnh chy chng trnh Access, thng thng mn hnh tip theo xut
hin cho php chn cch lm vic:
3. To mi tp Access
Mt d n Access (Access project) l mt hoc nhiu tp Access nhm gii
quyt mt cng vic ln no . Khun kh gio trnh ny ch trnh by nhng d
n c 1 tp.
Trang 6
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
Chn th mc trn a, ni
s lu tp Access
G tn tp cn lu
Trang 7
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
4. Mi trng lm vic
Sau khi mt tp Access c m, mi trng lm vic trn Access xut hin vi
nhng thnh phn nh sau:
5. M tp tn ti
Mi tp Access phi to mi duy nht mt ln, c m ra lm vic v ghi li
trong nhng ln tip theo. m mt tp Access tn ti lm vic, lm nh
sau:
Trang 8
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
- Tip theo chn tp Access cn m trn danh sch v nhn nt Open hoc
Enter.
Trang 9
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
CHNG 1
XY DNG C S D LIU
Xy dng CSDL l cng vic quan trng u tin trong ton b qui trnh pht
trin mt ng dng trn Access. Mt CSDL c thit k v xy dng tt s l
nhng thun li, nhng t tin u tin bc vo mt qui trnh pht trin ng
dng; nhng tri li s l mt thm ha cho d n ang pht trin: s thng xuyn
gp phi nhng kh khn phi chnh sa li CSDL v ti t hn, d n c th
phi thc hin li t u do vic thit k CSDL qu km.
Trang 10
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
V d:
Trang 11
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
Trang 12
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
M t mt bng d liu trong trng thi Design view (ang thit k cu trc):
Tp hp cc thuc tnh ca
trng d liu
Trang 13
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
Tn bng
3 Text tu thuc di Xu k t
xu
Trang 14
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
Bn ghi (Record)
V d:
(1)- bng THISINH ca CSDL thi tuyn sinh, trng kho l SoBaoDanh. V
mi th sinh c th nhiu trng c gi tr ht nhau, nhng SoBaoDanh th duy
nht.
Trong Access tn ti 2 kiu lin kt: lin kt 1-1 v lin kt 1-n (mt-nhiu)
V d lin kt 1-1:
Trang 15
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
V d lin kt 1-n:
Trang 16
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
Trang 17
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
Trang 18
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
Bc 3: Khai bo kiu d liu cho cc trng ca bng, bng cch chn kiu
d liu cho tng trng ct Data Type tng ng. Sau khi chn xong kiu d
liu cho cc trng, hp thoi thit k s c dng:
chn kiu d liu, c th dng chut chn kiu d liu t hp th; mt khc
cng c th nhn k t u tin ca kiu d liu cn chn mi khi nh v n
Data Type cn lm vic. V d:
Trang 19
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
A Autonumber M Memo
N Number C Currency
T Text H Hyperlink
Y Yes/No O OLE
D Date/Time
Bc 4: Thit lp trng kho cho bng (nhng bng khng c trng kho c
th b qua bc ny).
- M thc n Edit | Primary key thit lp thuc tnh kho cho cc trng
Sau khi thit lp kho, nhng trng kho s c biu tng nh sau:
c bit:
- Vi nhng bng khng thit lp trng kho, trong qu trnh ghi li cu trc
bng, my tnh s hi:
Trang 20
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
i vi cc trng kiu s, Field size cho bit trng nhn gi tr loi s no.
TT Loi s ln
Trang 21
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
Cn mt s cc thuc tnh khc xin mi tham kho qua phn Help ca Access.
Trang 22
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
3. Thit lp quan h
Mt bc quan trng trong xy dng CSDL Access l thit lp quan h cc bng
trong CSDL. Lm c iu ny bn s gp c rt nhiu thun li trong qu trnh
s dng cc trnh Wizard v Design View trong Access sau ny.
- Nhn nt Add;
Trang 23
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
Hp Relationship Type: cho bit kiu quan h gia 2 bng ang thit lp:
Trang 24
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
Ch
Trang 25
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
4. Nhp d liu
Nhp d liu l yu cu bt buc i vi bt k mt ng dng no. D liu c
th c nhp vo CSDL bng nhiu con ng khc nhau. Trong phn ny s
trnh by cch nhp d liu t bn phm vo trc tip cc bng d liu trong
Access.
Li th nht:
Trang 26
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
Li th 2:
Li do: Bn khng nhp gi tr hoc trng gi tr trng kho. l trng kho lun
yu cu phi nhp d liu cho mi bn ghi.
Li th 3:
Khc phc: nhp li gi tr trng kho khc sao cho va ng, v khng b trng
kho.
Li th 4:
Li do: Bn ghi va nhp d liu b trng trng bt buc nhp d liu (nhng trng
c thit lp thuc tnh Required=Yes)
Khc phc: Phi nhp d liu cho cc trng bt buc phi nhp d liu.
Li th 5:
Trang 27
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
Khc phc: Tm v nhp cho ng gi tr theo bng quan h 1 tng ng. Tham kho
cch khc phc li ny mc 5: thuc tnh LookUp.
a. Xo bn ghi
nhn nt Delete Record trn thanh cng c hoc nhn phi chut ln vng
chn, tip theo nhn Delete Record. Mt hp thoi xut hin bn khng
nh mt ln na vic xo d liu:
Ch
Trang 28
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
b. Sp xp d liu
c. Lc d liu
Bc 1: Lc ra danh sch l cc cn b n;
Trang 29
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
Thuc tnh LOOKUP c thit lp ti trng tham gia lin kt trn bng c
quan h nhiu sang trng tham gia lin kt ca bng c quan h 1.
Trang 30
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
- trng khachID ca bng HOADON phi thit lp thuc tnh LOOKUP sang
trng khachID ca bng KHACH;
- trng hangID ca bng HANGBAN phi thit lp thuc tnh LOOKUP sang
trng hangID ca bng HANG;
Trang 31
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
Trang 32
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
Trang 33
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
, nu khng th b qua;
Trang 34
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
Cui cng nhn Finish kt thc tin trnh Lookup Wizard. Khi hp thoi
yu cu ghi li cu trc bng xut hin:
Hy nhn Yes ng .
Trang 35
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
- Ghi tn bng
Bi tp
1. Xy dng CSDL Qun l lng cn b mt c quan c cu trc nh sau :
Yu cu :
+ 4 phng ban;
Trang 36
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
+ 5 loi chc v;
+ 20 h s cn b.
Yu cu :
+ 5 khch hng;
+ lp 10 ho n bn hng;
+ vi 25 lt hng ho c bn ra.
Yu cu :
Trang 37
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
+ 5 tc gi;
+ 3 nh xut bn;
+ 3 danh mc sch;
+ 20 u sch.
Yu cu :
Trang 38
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
+ 10 mn hc ph thng;
+ 3 khi hc;
+ 30 hc sinh;
Trang 39
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
CHNG 2
TRUY VN D LIU
Trong chng trc gii thiu nhng khi nim cng nh cc k nng, trnh
t cn thit c th xy dng tt mt CSDL trn Access. Chng ny s cung cp
nhng khi nim cng nh nhng k nng cn thit x l d liu khi cn. Mt
trong nhng cng c x l d liu trc quan, hu hiu trn Access l Query.
Select Query;
Total Query;
Crosstab Query;
Append Query;
Delete Query;
Update Query;
Trang 40
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
1. SELECT queries
1.1 Cch to
Trang 41
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
Hoc nhn p chut ln biu tng Create query in Design view trn
mn hnh:
Trang 42
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
Dng Field: l ni khai bo danh sch cc thng tin (ct d liu) ca bng
kt qu.
Trang 43
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
V d:
trn thanh cng c hoc nhn phi chut ln Query ang thit k
chn . Bn s xem c kt qu tr v ca query v
c th thao tc bng d liu ny nh trn mt Table (xem mc 4.2,
Phn 1- To CSDL):
Trang 44
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
SELECT FROM
------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------
Trang 45
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
Ch : C 2 li hay mc phi:
1.2 Lc d liu
Trang 46
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
Trang 47
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
- K t ? biu din mt k t bt k.
Trang 48
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
Trang 49
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
-------------------------------------------------------------------------------------------------
2. TOTAL queries
Tng hp l php x l d liu kh ph bin. Trong Access, query l mt
trong nhng cng c x l kh tt vic ny. Total query l mt in hnh.
Trang 50
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
Trang 51
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
Max - xc nh gi tr ln nht;
Min - xc nh gi tr nh nht
------------------------------------------------------------------------------------------------
3. CROSSTAB queries
mc 2 chng ta c tm hiu v Total query trong vic p ng cc
yu cu tng hp d liu. Trn thc t cn rt nhiu cc yu cu tng hp khc
m Total query khng th p ng c. Nhiu trong s nh l:
Trang 52
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
Yu cu tng hp d liu l
cc tiu dng v ct!
Column heading
Row heading
Value
Trang 53
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
Trang 54
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
C th:
------------------------------------------------------------------------------------------------
Trang 55
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
Trang 56
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
Nhn Yes ng , No hu b.
Trang 57
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
------------------------------------------------------------------------------------------------
5. DELETE queries
Delete Query l mt loi Action Query (query hnh ng). N c th gy thay
i d liu trong CSDL. Trong trng hp ny, Delete query dng xo cc bn
ghi t CSDL tho mn nhng iu kin no .
Trang 58
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
------------------------------------------------------------------------------------------------
6. UPDATE queries
Update query dng cp nht d liu mt s trng no trong CSDL. Ging
vi Delete query, Update query l loi query hnh ng, lm thay i ni dung d
liu trn CSDL.
Trang 59
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
Trang 60
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
------------------------------------------------------------------------------------------------
Trang 61
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
Bi tp
Thc hin trn CSDL Qun l lng cn b cc yu cu:
Trong :
Trang 62
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
Trang 63
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
Bi s 12: To query hin th chi tit thng tin tng hng bn:
Trang 64
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
Trang 65
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
CHNG 3
THIT K GIAO DIN
Chng ny trnh by v FORMs - mt cng c thit k giao din ngi s dng
phn mm- b phn giao tip gia ngi dng vi ng dng.
K thut Sub-form
Trang 66
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
Trang 67
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
Trang 68
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
Trang 69
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
Trang 70
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
Ch
Trang 71
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
- Nt thm mt bn ghi mi
Chng ta s tm hiu cch thit k mt form nhp d liu n gin thng qua yu
cu: to form dng lm mu nhp d liu cho bng CANBO.
Trang 72
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
1
2
Trang 73
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
- Chn thuc tnh form bng cch chn tn i tng Form hp chn Object
trn thanh cng c Formatting:
- Thit lp thuc tnh Record Source cho form bng cch chn tn bng
CANBO hp Record Source. C th tm thuc tnh ny th Data - ch
nhng thuc tnh lin quan n d liu; hoc th All- c y tt c cc
thuc tnh v s kin:
Bc 3: M ca s Field List.
Trang 74
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
Ca s Field List c cha danh sch cc trng trn CSDL c trong ngun d
liu ca Form. N h tr vic a nhng trng d liu ny ln form nhp v
hin th d liu rt tt. Trong trng hp ny ta dng a nhng trng cn
nhp d liu t bng CANBO ln form.
Nu cha thy ca s ny xut hin, hy thc hin hin th n bng cch m thc
n View | Field List hoc nhn nt Field List trn thanh cng c chun.
Trang 75
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
a. Sa thuc tnh
Sa nhn (Label):
Trang 76
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
Di chuyn i tng:
Thay i mu nn:
Trang 77
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
Thay i mu ch:
Trang 78
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
c thi hnh iu khin cng vic nh yu cu. Control Button Wizard s gip
to mt s loi nt lnh m khng cn bit n lp trnh. Di y l cc bc s
dng:
V d: To nt
Trc khi s dng tnh nng ny, phi m bo nt Control Wizard trn thanh
cng c ToolBox c nhn chm xung:
Trang 79
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
5 Applications X l ng dng
Trang 80
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
4. K thut Sub-form
K thut thit k form trnh by cc phn trn c th gi l Single-form.
Sub-form l k thut thit k giao din rt mnh, p ng c nhng yu cu
x l d liu phc tp m k thut Single-form cha th p ng. C th hiu
Sub-form l vic form ny lng trong form kia (c th lng trong nhau nhiu
lp). Form cha gi l form m (Main form); form c lng vo gi l form
con (Sub-form). Vic x l d liu trn tng form c th x l c lp hoc c
quan h vi nhau tu theo mc ch cng vic.
Trang 81
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
Bc 1: To form con
- V form con s hin th d liu dng bng nn phi thit lp thuc tnh
Default View cho form con l Datasheet;
- Thit lp ngun d liu lm vic cho form con thuc tnh Record Source
bng cch nhn nt (hnh di)
Nhn ln y to ngun d
liu cho form.
Trang 82
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
Bc 2: To form m
Trang 83
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
- Thit lp ngun d liu lm vic cho form m thuc tnh Record Source
bng cch nhn nt (hnh di)
Nhn ln y to ngun d
liu cho form.
Trang 84
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
Trang 85
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
Trang 86
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
Phi thit lp tham s cho form con sao cho mi khi chn mt phng ban
trn form m, danh sch cn b phng ban s t ng hin th ra
form con.
Trang 87
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
Bc 1: To form con
- V form con s hin th d liu dng bng nn phi thit lp thuc tnh
Default View cho form con l Datasheet;
- Thit lp ngun d liu lm vic cho form con tuc tnh Record Source
bng cch nhn nt (hnh di)
Nhn ln y to ngun d
liu cho form.
Trang 88
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
Bc 2: To form m
- To hp Combo box cha danh sch cc phng ban c th chn trn form
m bng cch:
Trang 89
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
Trang 90
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
Thit lp thuc tnh Name cho Combo box trng tn vi tham s thit
lp form con l cboPhongban.
Trang 91
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
Ch
Trang 92
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
Bi tp
C s Qun l lng cn b
Bi s 1: To form cho php xem danh sch cn b tng phng ban nh sau:
Trang 93
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
Yu cu chi tit:
- Cc nt Tin, Li nh v ho n cn lm vic;
Trang 94
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
- Nt Thm mi bt u to mi mt ho n;
Sau khi nhp xong gi tr t ngy v n ngy, thng tin chi tit v cc mt hng
bn ra trong phm vi ngy c tng hp theo nh giao din trn.
Trang 95
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
Yu cu: Sau khi chn mt khch hng, nhp vo khong ngy cn tng hp.
Thng tin tng hp v tng mt hng ca khch mua s c lit k.
Bi s 6: To form tng hp thng tin hng bn chi tit theo tng ngy nh
sau:
Trang 96
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
Sau khi chn tn mt khch, thng tin v cc ho n mua hng c hin th.
Trang 97
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
CHNG 4
THIT K BO CO
Report l cng c dng thit k in n d liu hu hiu trong Access. Hu nh tt
c nhng g bn mun in v in theo b cc nh th no? Report u c th p ng!
K thut sub-report;
Trang 98
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
Report header
Page header
Detai
Page Footer
Report footer
Page Header
Page Footer
Trang 99
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
L phn cui cng ca mi trang bo co. Ging nh khi nim Page footer
trong Word v Excel. Phn ny c th c hoc khng c thng tin tu vo
ngi thit k.
Detail
Report Header
L phn tiu ca trang u tin Report, nm tip theo phn Page header v
nm trn phn Detail. Mi Report s ch c nhiu nht 1 Report header. Phn
ny c th c hoc khng c thng tin tu vo ngi thit k.
Report Footer
L phn tiu cui ca trang cui cng Report, nm tip theo phn Detail v
pha trc phn Page Footer. Mi Report s ch c nhiu nht 1 Report footer.
Phn ny c th c hoc khng c thng tin tu vo ngi thit k.
Trang 100
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
Trang 101
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
Bn mun in d liu theo kiu no: Hy chn kiu cn in t danh sch bn tri
hp thoi. Trong yu cu ny c th c 3 kiu hin th d liu trn report (v d liu
c chn ra t 3 bng khc nhau). V mun in mt danh sch cn b nn chn
kiu by CANBO (c th xem kiu hin th bn phi hp thoi). Nhn Next tip
tc:
Trang 102
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
Trang 103
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
Trang 104
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
Trang 105
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
- Chn Preview the report hin th d liu ca report ngay sau khi kt thc;
hoc hin th ngay mn hnh thit k sa cu trc report khi chn Modify
the reports design;
- Cui cng nhn Finish kt thc cc cng vic s dng report wizard.
Trang 106
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
Nt Office Link : kt xut (Export) thng tin trn report ra cc loi nh dng
khc ca MS Office nh Word, Excel, HTML.
3. Thit k report
Phn trc trnh by cc bc dng Report wizard c th thit k cc mu
bo co in n d liu t CSDL. l cch lm rt d dng v nhanh chng. Tuy
nhin, cc mu bo co c sinh ra ch gii hn theo mt s mu m my tnh
cung cp sn, khng th in ra c nhng biu bo co phc tp theo nh nhng
yu cu a dng ca ngi s dng. Report wizard ch c th to ra cc report in d
liu t cc bng hoc queries theo cu trc n gin; trong nhng trng hp yu
cu cu trc report phc tp, hoc phi in d liu khng phi hon ton ch t cc
bng v queries hoc in n bo co theo cc tiu ch, tham s ng no th khng
th p ng c. Trong trng hp ny phi dng n Report design view.
Trang 107
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
Hoc nhn p chut ln biu tng Creat report in Design view trn ca s d
n:
Trang 108
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
(2) Thanh cng c Toolbox- ni cha nhng i tng gip a cc thng tin
cn thit ln report. Chc nng v cch lm vic trn thanh cng c ny gn
ging vi lm vic trn thanh cng c Toolbox ca Form design view;
Trang 109
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
Trang 110
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
Hy thit lp cc thng tin cn in ra report trn query ny. Thit lp xong nhn
nt ng ca s thit k query (hoc nhn phm nng Ctrl+W) v chn Yes trong
hp thoi sau:
(2) Theo ngm nh, ca s thit k report ch xut hin 3 phn: Page header,
Page footer v Detail. Nu report ang thit k yu cu c c Report
header v Report footer, hy hin th chng bng cch: nhn phi chut
ln ca s thit k report v chn:
Trang 111
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
Trang 112
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
Trang 113
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
Sau khi nhp nt Line trn thanh cng c, hy thc hin k bng cch di
chut.
Trang 114
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
Textbox
Trong :
Trang 115
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
Trong phn ny, chng ti hng dn cch thit lp tham s trn thuc tnh
Record Source ca report. Cch d lm, khng cn am hiu v lp trnh VBA. Cch
dng Macro cng tt nhng khng nn dng. V phng php lp trnh ny tr
nn cng nhc. Thc t, phng php dng cu lnh DoCmd trn VBA l tt nht,
n th hin tnh linh hot v chuyn nghip ca cch gii quyt vn . Ring cch
ny, cc bn c th tham kho Chng Lp trnh CSDL.
Sau khi chn tn mt phng ban t danh sch, nhn nt In danh sch. Danh
sch cn b phng chn s c in ra mt report.
Cch lm:
Trang 116
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
Trang 117
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
Forms!frmIndsCB!Combo1
Trang 118
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
Nhn p chut ln
Combo1 chn!
Forms | All Forms | frmIndsCB y l form cha i tng combo box phng
ban cn lc. Khi mt danh sch cc i tng trn form frmIndsCB xut hin
gia hp thoi;
Trang 119
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
Cui cng nhn OK hon tt vic to tham s cho query bng hp thoi
Expression Builder.
Trang 120
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
Bi tp
Trn CSDL Qun l lng cn b thc hin cc yu cu sau:
Trang 121
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
Trang 122
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
CHNG 5
LP TRNH VBA CN
BN
Access khng nhng l h qun tr CSDL rt mnh- c th cc bn c tm
hiu rt k Chng 1 v Chng 2. Hn na, vi nhng cng c c sn i km
nh Forms, Report, Macros v c bit l ngn ng lp trnh VBA Access s cn
l mt cng c pht trin phn mm rt mnh, d s dng cho cc ng dng qun l
va v nh.
Trang 123
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
2
3
Trang 124
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
Trong :
Trang 125
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
Phn khai bo
Th tc p ng s
(4) Ca s Intermediate
Boolean
Kiu l gc, tng t kiu Boolean trn Pascal. Kiu ny chim 2 byte b nh;
ch nhn mt trong 2 gi tr l: Yes No hoc True False hoc i khi th hin
Trang 126
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
Byte
Kiu s nguyn dng trong phm vi t 0..255. Kiu ny chim 1 byte b nh.
Integer
Long
Single
Double
Currency
Trang 127
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
String
Variant
Dim a As Variant
a = 123
a = Nguyn Vn Ng
Ngi ta thng khai bo bin kiu Variant trong nhng trng hp phi x l
bin mm do. Khi th bin nhn gi tr kiu ny, khi th nhn gi tr v x l
theo kiu d liu khc.
Object
Object l mt loi bin kiu Variant, chim dung lng nh 4 bytes, dng
tham chiu ti mt loi i tng (Object) no trong khi lp trnh. Tt nhin
mun khai bo bin Object kiu no, phi chc chn i tng c ng k
vo th vin tham chiu VBA bi tnh nng Tool | Reference. Chng ta s cn tr
li vn ny khi lp trnh CSDL.
Trang 128
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
Dim i As Integer
Dim i, j As Integer
Dim i As Variant
hoc
Dim i
Trang 129
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
Dim MyArray()
b. Phm vi bin
Bin cc b:
Trang 130
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
V d:
Trn mt tp Access, khng c php khai bo trng tn bin ton cc. Tuy
nhin tn bin cc b vn c th trng tn bin ton cc, trong trng hp VBA
s u tin s dng bin cc b trong phm vi ca n.
a. Khai bo hng
V d 1: Hng a =5 (hng s)
Const a = 5
Trang 131
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
Const ok = True
b. Phm vi hng
Mun hng c phm vi ton cc, phi c khai bo sau t kho Public Const,
ti vng Decralations ca mt module no nh sau:
Public Const a = 12
Cng ging nh nhiu ngn ng lp trnh hin i khc, cc cu trc lnh trong
VBA u tun th cc nguyn tc:
Trang 132
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
ngha lnh trn l: nu <iu kin> = True th thc hin cc lnh trong <th
tc1>. Tri li thc hin cc lnh trong <th tc 2>.
If so Mod 2 = 0 Then
Msgbox L s chn !
Else
Msgbox L s l !
End If
Cho bit thang (s nguyn) roi vo u nm (1..4), gia nm (5..8) hay cui nm
(9//12)?
Trang 133
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
- Nu ng thc hin <th tc 1> v kt thc lnh, thc hin lnh tip theo sau t
kho End Select.
- Nu sai, thc hin tip vic so snh <biu thc> = <gi tr i> tip theo v x l
tng t qui trnh nu trn.
(3) Trong trng hp <biu thc> <> <gi tr i>, i=1..n khi c 2 kh nng:
Trang 134
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
1 - Janualy
2 - Februaly
12 - December
>12 - Khng xc nh
If so = 1 Then
thang = "Janualy"
Else
If so = 2 Then
thang = "Feb"
Else
If so = 3 Then
thang = "Feb"
Else
If so = 4 Then
thang = "Feb"
Else
If so = 5 Then
thang = "Feb"
Else
If so = 6 Then
thang = "Feb"
Else
If so = 7 Then
thang = "Feb"
Else
If so = 8 Then
thang = "Feb"
Else
If so = 9 Then
thang = "Feb"
Else
If so = 10 Then
thang = "Feb"
Else
If so = 11 Then
Trang 135
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
thang = "Feb"
Else
If so = 12 Then
thang =
"Feb"
Else
thang =
"Feb"
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
Tuy nhin khi s dng Select Case .. End Select, cu trc s gn gng v sng
sa hn nhiu. C th nh sau:
Select Case so
Case 1
thang = "Janualy"
Case 2
thang = "Janualy"
Case 3
thang = "Janualy"
Case 4
thang = "Janualy"
Case 5
thang = "Janualy"
Case 6
thang = "Janualy"
Case 7
thang = "Janualy"
Case 8
thang = "Janualy"
Case 9
thang = "Janualy"
Case 10
thang = "Janualy"
Case 11
thang = "Janualy"
Case 12
thang = "Janualy"
Case Else
thang = "Khng xc nh"
End Select
Trang 136
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
For Next l mt cu trc lp bit trc s ln lp trong VBA, tuy nhin trong
nhng tnh hung c bit, vn c th s dng cu trc ny nh cu trc khng bit
trc c s ln lp.
Trong :
- <bin chy> l bin kiu v hng m c, hay dng nht l bin kiu
nguyn;
- <gi tr 1>, <gi tr 2> l cc gi tr m bin chy s nhn v thc hin dch
chuyn sau mi ln lp. C th dch chuyn i 1 n v, c th dch chuyn i
nhiu n v mt ln, c th dch chuyn tin, cng c th dch chuyn li- tt
c iu ny tu thuc vo vic c hay khng c tu chn [Step <n>];
- Trong trng hp c bit nu gp phi lnh Exit For trong vng lp, ngay
lp tc thot khi lnh lp v thc hin lnh tip ngay sau t kho Next.
Chnh Exit For lm mt i tnh lp bit trc c s ln lp ca loi lnh
ny.
Tip theo l cc v d:
Dim i As Byte
Dim tong As Integer
Trang 137
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
tong = 0
For i = 1 To 50
tong = tong +i
Next
Msgbox tong
Dim i As Byte
Dim tong As Integer
tong = 0
For i = 3 To 50 Step 3
tong = tong +i
Next
Msgbox tong
Dim so As Integer
Dim uoc As Integer
Dim nguyento As Boolean
nguyento = True
For uoc = 2 To Int(so / 2)
If so Mod uoc = 0 Then
nguyento = False
Exit For
End If
Next
If nguyento Then
Msgbox "l nguyn t"
Else
Msgbox "khng l nguyn t !"
End If
Trang 138
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
Trong :
- Nu <iu kin> = True, cc lnh trong <th tc> s c thc hin. Thc
hin xong li quay ln dng lnh While kim tra tip <iu kin>;
- Nu <iu kin> = False, s thot khi vng lp v thc hin lnh tip theo
t kho Wend.
Cc v d:
Dim i As Byte
Dim tong As Integer
tong = 0
i = 3
While i <= 50
tong = tong +i
Trang 139
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
i = i + 3
Wend
Msgbox tong
Dim i As Byte
Dim tong As Integer
tong = 0
i = 1
While i <= 50
If i Mod 3 = 0 Then
tong = tong + i
End If
j = i + 1
Wend
Msgbox tong
Bn c th dng lnh DoCmd thi hnh cc cng vic thng thng trn
Access thng qua mi trng VBA. V d nh: dng DoCmd c th m form,
m report, query, lc d liu, thi hnh macro x l bn ghi, ng dng,.. Hu ht cc
thao tc x l trn cc i tung ca Access u c th dng lnh doCmd gi ra
thc hin trong mi trng VBA.
Lnh ng mt i tng
Trong :
Trang 140
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
acForrm ng form
acReport ng report
acQuery ng query
acTable ng bng
ObjectName - ch tn i tng cn ng;
DoCmd.Close
Lnh m form
Trong :
ViewMode - ch m. C th:
Trang 141
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
Lnh m report
Trong :
ViewMode - ch m. C th:
Trang 142
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
DoCmd.RunSQL
V bn cht, 2 loi chng trnh con trn u nh nhau: khai bo, tham s v
truyn tham s. Tuy nhin, im khc nhau c bn l:
Trang 143
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
C php
Trong :
- <danh sch cc tham s> - danh sch cc tham s cn thit cho hm. C hay
khng c danh sch ny tu thuc vo hm cn nh ngha;
- <th tc> - thn chng trnh con. Trong cu lnh <tn hm> = <biu
thc> phi xut hin t nht mt ln trong th tc. Cu lnh ny c tc dng
gn gi tr cho hm.
Cc v d:
Trang 144
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
V d 1: hm tnh tng 2 s
laNguyenTo = True
If so > 2 Then
For uoc = 2 To Int(Sqr(so))
If so Mod uoc = 0 Then
laNguyenTo = False
Exit For
End If
Next
End If
End Function
V d trn c s dng n:
- hm Sqr(number) hm ly cn bc hai mt s
pos = 1
If InStr(pos, Trim(hoten), " ") = 0 Then
GetTen = hoten
Exit Function
End If
While InStr(pos + 1, Trim(hoten), " ") > 0
Trang 145
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
STT Tn
1 Quang
2 c
3 on
4 Bng
5 Bang
6 An
7 n
Sau khi s dng tnh nng sp xp (Sort) ca Word theo ct Tn theo th t tng
dn, c danh sch kt qu nh sau:
STT Tn
7 n
3 on
2 c
6 An
4 Bng
Trang 146
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
5 Bang
1 Quang
STT Tn
6 An
7 n
5 Bang
4 Bng
3 on
2 c
1 Quang
Cgoc1 =
"aeiou
y"
Cma1 = "abadafaparazblbnbpcbcdcl1b1c1d1e1f1a"
Cgoc2 =
"AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZ
z"
Cma2 =
"aaabacadaeafagahaiajakalamanaoapaqarasatauavawaxayazbabbbcbdbebfb
gbhbibjbkblbmbnbobpbqbrbsbtbubvbwbxbybzcccbcccdcecfcgchcicjckclcmc
n"
Trang 147
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
kq = ""
xd = ""
For i = 1 To Len(Ckt)
kti = Mid(Ckt, i, 1)
vt1 = InStr(Cgoc1, kti)
If vt1 <> 0 Then
kq = kq & Mid(Cma1, 1 + ((vt1 - 1) \ 6) * 2, 2)
xd = xd & Mid(Cma1, 25 + ((4 + vt1) Mod 6) * 2, 2)
Else
vt2 = InStr(Cgoc2, kti)
If vt2 <> 0 Then
kq = kq & Mid(Cma2, (vt2) * 2 - 1, 2)
Else
kq = kq + kti
End If
End If
Next i
MahoaTCVN3 = kq & xd
End Function
C php
Trong :
Trang 148
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
- Sub, End Sub l cc t kho bt buc khai bo cu trc mt chng trnh con
dng th tc;
- <danh sch cc tham s> - danh sch cc tham s cn thit cho th tc. C
hay khng c danh sch ny tu thuc vo th tc cn to
Cc v d:
tong = a + b
Trang 149
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
5. K thut x l li
X l li l k thut rt quan trng trong lp trnh. lp trnh th kh trnh khi
li (Errors). C rt nhiu nguyn nhn gy ra li; cc nguyn nhn ny c th c
lng trc hoc khng c lng trc. K thut x l li bao gm cc k nng
pht hin v x l cc tnh hung khi chng trnh gy li.
5.1 X l li
L vic x l khi ang lp trnh gp phi li. Thng thng khi chy th chng
trnh trong lc ang xy dng phn mm nu gp phi li, s xut hin hp thoi
thng bo li c dng:
Trang 150
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
Hnh trn khi di chut ln bin b, gi tr bin b xut hin di dng Tool tip (gi
tr b = 0).
Sau khi chn nt Debug, bn hon ton c th thc hin sa m lnh trong
chng trnh. Tuy nhin, trong mt s trng hp khi sa m lnh VBA s hi:
Trang 151
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
Sau khi thc hin sa m lnh, bn c th yu cu VBA thc thi tip chng
trnh.
chng trnh con). thc thi tip nhn phm F5 hoc nt Continue trn thanh
Trang 152
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
Ca s Immediate
L cng c hu hiu h tr vic d li bi: hp thoi ny cho php thc thi tng
cu lnh trn ch hi thoi.
? b
Hoc nu g:
Trang 153
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
? a / b
V b = 0.
5.2 By li
Trang 154
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
A_chia_B = Null
A_chia_B = a / b
End Function
A_chia_B = a / b
Msgbox Ok!
Loi:
If Err.Number = 11 Then
MsgBox "Li chia cho 0 !"
End If
End Function
Trang 155
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
Trong phng php ny, ngi lp trnh nn khai thc ti a i tng Err - i
tng mang nhng thng tin v li ang xy ra, c th:
Hnh ng Kt qu
Err.Description M t tn li
Err.Number a ra m li
6. Mt s v d
Phn ny trnh by mt s v d s dng Form, mt s i tng iu khin
(Control), cc khai bo, cc cu trc lnh v nhng k thut lin quan gii quyt
mt s bi ton thc t n gin.
Form
Trang 156
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
Navigation Buttons: No
Diving line: No
nhp s cn kim tra
Name: Text0
Name: cmdChanLe
Caption: Kim tra chn l
Nt ng
Name: cmdClose
Caption: ng
V m lnh cho form nh sau:
'--------------------------------------
'Lnh cho nt Kim tra chn l
'
Private Sub cmdChanLe_Click()
If Text0 Mod 2 = 0 Then
MsgBox Text0 + " L s chn !"
Else
MsgBox Text0 + " L s l !"
End If
End Sub
'----------------------------------------
'Lnh cho nt ng
'
Private Sub cmdClose_Click()
DoCmd.Close
End Sub
Trang 157
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
Form
Nt Tnh ton
Name: cmdTinhToan
Caption: Tnh ton
Nt ng
Name: cmdClose
Caption: ng
Trang 158
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
a1 = a
b1 = b
While a1 <> b1
If a1 > b1 Then
a1 = a1 - b1
Else
b1 = b1 - a1
End If
Wend
usc = a1
End Function
'-------------------------------
'M lnh cho nt Tnh ton
'
Private Sub cmdTinhToan_Click()
txtUSC = usc(txtA, txtB)
txtBSC = txtA * txtB / usc(txtA, txtB)
End Sub
'------------------------------
'M lnh cho nt ng
'
Private Sub cmdClose_Click()
DoCmd.Close
End Sub
Trang 159
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
Form
Name: cmdGPTB2
Caption: Gii phng trnh
Nt ng
Name: cmdClose
Caption: ng
Trang 160
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
'--------------------------------------
'M lnh cho nt Gii phng trnh
'
Private Sub cmdChanLe_Click()
Dim delta, x, x1, x2 As Double
Dim kqua As String
MsgBox kqua
End Sub
'------------------------------------------
'Lnh cho nt ng
'
Private Sub cmdClose_Click()
DoCmd.Close
End Sub
Trang 161
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
CHNG 7
LP TRNH C S D LIU
Access khng nhng l mt h qun tr CSDL mnh m cn cung cp nhng
cng c mnh cho php pht trin mt CSDL n thun thnh mt sn phm ng
gi thng mi. Chng ta c hc Queries, Forms, Report l nhng cng
c kh mnh v d hc dng xy dng cc truy vn, biu mu v bo co in n
trong Access. Chng 7 c lm quen vi ngn ng VBA- mt ngn ng lp
trnh trc quan, hng i tng trong cc ng dng Microsoft Office ni chung
cng nh trn Access. l c s quan trng trong chng ny chng ta tm
hiu nhng k thut lp trnh CSDL bng VBA- c th ni l mt mc chuyn su
tip theo nhng g hc VBA cn bn.
Bi ton tm kim;
Bi ton t lc;
Mt s bi ton khc.
Trang 162
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
1. K thut DAO
DAO (Data Access Objects Cc i tng truy xut d liu) l tp hp bao
gm lp cc i tng c th dng lp trnh truy cp v x l d liu trong cc
h CSDL. y CSDL Access, ngn ng lp trnh VBA.
Bc 1: M ca s lp trnh VBA;
Hy chn (tch) mc Microsoft DAO 3.6 Object Libraly trn danh sch
Available References; chn xong, nhn OK ng li.
Trang 163
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
ng dng
Cc kt ni d liu
C s d liu
Trong :
- Tng ng dng: bao gm nhng giao din ngi s dng cng nh nhng cng
c n gin m ngi lp trnh c th dng x l d liu theo cc bi ton;
Trang 164
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
Workspaces
Databases
RecordSets
QueryDefs
TableDefs
Relations
Trong :
Trang 165
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
Dim db As DAO.Database
'------------------------------------
'cc cu lnh tip theo y..
'
For i = 0 To db.Recordsets.Count
MsgBox db.Recordsets(i).Name
Next
MsgBox rs1.Fields("hoten").Value
' hoc
MsgBox rs1.Fields![hoten].Value
Trang 166
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
Khai bo
Dim db As DAO.Database
db.Close
Khai bo
Set rs=db.OpenRecordset(<Name>)
Trong :
Trang 167
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
V d 1:
Dim rs As DAO.Recordset
Set rs = db.OpenRecordset("canbo")
V d 2:
Dim rs As DAO.Recordset
MsgBox rs.Name
Trang 168
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
Msgbox rs.Fields("hoten").Value
'hoc
Msgbox rs.Fields("hoten")
Trang 169
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
V d 3:
Dim db As DAO.Database
Dim rs As DAO.Recordset
Set db = CurrentDb
Set rs = db.OpenRecordset("canbo")
1. Ra lnh Addnew
3. Ra lnh Update
V d 4:
Dim db As DAO.Database
Dim rs As DAO.Recordset
Trang 170
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
Set db = CurrentDb
Set rs = db.OpenRecordset("canbo")
'----------------------
'Ra lnh thm mi bn ghi
'
rs.AddNew
'--------
'Gn gi tr cho cc trng ca bn ghi mi
'
rs.Fields("canboID") = "CB00565"
rs.Fields("hoten") = "Nguyn Sn Hi"
rs.Fields("ngaysinh") = #2/11/1975#
rs.Fields("gioitinh") = True
rs.Fields("chucvuID") = "CV002"
'--------
'Ra lnh ghi li d liu
'
rs.Update
2. Ra lnh Edit
3. Gn gi tr mi cho cc trng cn sa
4. Ra lnh Update
Di y l v d v sa h s cn b c m CB000565
V d 5:
Dim db As DAO.Database
Dim rs As DAO.Recordset
Set db = CurrentDb
'-------------------------------------
'nh v ti bn ghi cn sa
'
Set rs = db.OpenRecordset("SELECT * FROM canbo WHERE
canboID='CB000565'")
Trang 171
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
rs.MoveFirst
'---------------------------------
'Ra lnh sa bn ghi
'
rs.Edit
'---------------------------------
'Thc hin sa cc trng d liu cn thit
'
rs.Fields("hoten") = "Nguyn Vn Hi"
rs.Fields("ngaysinh") = #22/11/1975#
'-----------------------
'Ra lnh ghi li d liu va sa
'
rs.Update
End If
V d 6:
End Sub
Trang 172
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
to v kch hot mt query trn VBA bng cch thc thi cu lnh SQL bn
lm theo hng dn sau:
'------------------
'Khai bo mt bin kiu Database v mt bin kiu QueryDef
Dim db As DAO.Database
Dim qr As DAO.QueryDef
'---------------------------
'Ra lnh to mt Query mi, c tn rng (ch trong b nh)
'-------------------------------
'Gn chui lnh SQL vo thuc tnh SQL ca query
'
qr.SQL = "G lnh SQL cn thi hnh vo y"
'--------------------------
'Ra lnh thi hnh query
'
qr.Execute
'---------------------------
'gii phng b nh
qr.Close
Trong :
Trang 173
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
- Lnh qr.Excute thi hnh cu lnh SQL c thit lp. Lnh ny tng
ng nhn nt Run i vi mt query trn ch thit k;
Dim db As DAO.Database
Dim qr As DAO.QueryDef
Set db = CurrentDb
Set qr = db.CreateQueryDef("")
qr.Execute
qr.Close
Dim db As DAO.Database
Dim qr As DAO.QueryDef
Set db = CurrentDb
Set qr = db.CreateQueryDef("")
qr.Execute
qr.Close
Trang 174
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
V d 1:
Trang 175
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
For i = 0 To tbl.Fields.Count - 1
MsgBox tbl.Fields(i).Name
Next
End Sub
-------------------------------------------
....Cc th tc to trng mi cho bng
-------------------------------------------
db.TableDefs.Append tbl
Trong :
Trong :
Trang 176
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
V d 2:
Sub TaoBangMoi()
On Error GoTo Loi
Dim tbl As DAO.TableDef
db.TableDefs.Append tbl
Exit Sub
Trang 177
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
Loi:
If Err.Number = 3010 Then
MsgBox " tn ti bng c tn " + tbl.Name
End If
End Sub
Sub CreatRelationShip()
On Error GoTo Loi
Dim db As DAO.Database
Dim rls As DAO.Relation
Set db = CurrentDb
rls.Fields.Append rls.CreateField("khachID")
rls.Fields("khachID").ForeignName = "khachID"
db.Relations.Append rls
Loi:
If Err.Number = 3012 Then
MsgBox " tn ti quan h ny !"
End If
End Sub
2. Bi ton t lc d liu
t lc l lp bi ton ph dng trong thc t. Vi bi ton ny phi c nhng
yu cu c th v lc d liu (iu kin lc). Kt qu tr v s l mt tp hp cc
bn ghi, c th c kt xut trn form hoc c in ra my in di dng report.
Trang 178
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
- Thit lp thuc tnh Record Source cho form l mt Total Query nh sau:
Trang 179
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
Bc 2: Xy dng form m
Trang 180
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
Trang 181
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
Tt nhin, trc phi khai bo mt bin kiu Database ton cc trong form v
nh ngha n th tc Form_Load()
Dim db As DAO.Database
Set frm_formcon.Form.Recordset = rs
frm_formcon.Requery
End Sub
Ch
Vic vit ra cu lnh SQL ng l rt kh, i hi lp trnh vin phi c nhiu kinh
nghim. lm tt c vic ny, nn thit k mt query ch design view; ri s
dng tnh nng Copy, Paste dn cu lnh SQL m query to ln ni son tho lnh
VBA v chnh sa cho ph hp. Thng thng sa mnh WHERE ca cu lnh.
Trang 182
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
CHNG 7
MENU & TOOLBAR
Chng ny trnh by nhng k thut to menu v toolbar nhm lin kt ton b
nhng g lm c thnh mt h thng phn mm hon chnh. Bao gm cc
mng kin thc:
To Menu;
To Toolbar;
Trang 183
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
1. To Menu
Menu l i tng c thit k c cu trc nhm gn kt cc chc nng phn
mm li ngi dng thun tin trong vic khai thc cc tnh nng cng nh
CSDL.
1. to xong CSDL
2. to form nhp d liu cho bng chucvu, form nhp d liu cho bng
phongban, form nhp d liu cho bng canbo;
Trang 184
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
Bc 1: To mt Toolbar mi
Trang 185
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
Trang 186
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
Bc 2: Xy dng cc mc cp 1
Trang 187
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
Bc 3: Xy dng cc mc cp con
Trang 188
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
Hp thoi Toolbar Properties xut hin cho php thit lp cc thuc tnh cho
Toolbar ang chn:
- Docking - tu chn cc kiu kho Menu: khng cho php thay i li (Can't
Change); cho php thay i li Any Allow);
- Show on Toolbars Menu cho php hin th trn h thng thanh cng c v
menu;
Trang 189
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
2. Gn kt Menu, Toolbar
Mt Menu hay Toolbar sau khi to ra, mun i km vi i tng no phi
thc hin gn kt vo i tng bng cch thit lp thuc tnh Toolbar - nu
mun gn Toolbar hoc Menu Bar nu mun gn menu bar. Cch lm nh sau:
3. To form chnh
Form chnh l form cha h thng menu (hoc toolbar) ca phn mm, n xut
hin ngay sau khi khi ng (Start-Up Object). Vi mi phn mm ng gi hu
ht phi to form chnh. t y c th m n cc chc nng phn mm cn lm
vic.
Trang 190
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
Bc 1: To frmMain
- t tn form ny l frmMain;
Trang 191
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
- Chn Menu cho ng dng hp Menu Bar (chn menu Qun l lng);
Trang 192
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
Bi tp
Bi s 1: Xy dng trn CSDL Qun l bn hng
Yu cu :
Trang 193
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
Yu cu chi tit:
- Cc nt Tin, Li nh v ho n cn lm vic;
- Nt Thm mi bt u to mi mt ho n;
Sau khi nhp xong gi tr t ngy v n ngy, thng tin chi tit v cc mt hng
bn ra trong phm vi ngy c tng hp theo nh giao din trn.
Trang 194
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
4. Thit k form tng hp thng tin bn hng cho khc hng theo ngy nh sau:
Yu cu: Sau khi chn mt khch hng, nhp vo khong ngy cn tng hp.
Thng tin tng hp v tng mt hng ca khch mua s c lit k.
5. To form theo di thng tin chi tit bn hng theo ngy nh sau:
Trang 195
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
Sau khi chn tn mt khch, thng tin v cc ho n mua hng c hin th.
Trang 196
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
Trang 197
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
Yu cu :
Trang 198
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
3. To form cho php xem v in danh sch cn b tng phng ban nh sau:
Trang 199
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
Trang 200
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
THUT NG TIN HC
Di y l danh sch mt s cc thut ng tin hc hay gp phi trong khi hc
v s dng Microsoft Access c xp theo th t t in bn c tham kho.
Data type Kiu d liu. D liu trong c s d liu phi c nh kiu: kiu
s, kiu ch, kiu l gc, - l cc kiu d liu
Trang 201
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
Form i tng dng thit k giao din trong pht trin phn mm. Kt
qu ca form khi s dng s l cc ca s, hp thoi- ni m ngi
dng c th s dng thao tc trn phn mm.
Record Bn ghi
Recordset Tp hp cc bn ghi
Trang 202
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
Sub-form Form con- mt form nm trong mt form khc. Khi form cha
sub-form gi l form m (form cha) thut ng ting Anh l Master
form.
Trang 203
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
Trang 204
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
MC LC
Trang 205
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
Trang 206
Gio trnh Microsoft Access 2000 Copyright Nguyn Sn Hi
Trang 207