You are on page 1of 14

Microsoft Access 2010

Chng 7:

MACRO- TP LNH
7.1 Gii thiu
Mt macro l mt tp hp ca mt hoc nhiu hnh ng thc hin chnh xc
theo mt trnh t t trn xung phc v cc yu cu thao tc trn cc i tng trong
c s d liu.
Mt Macro gip bn thc hin cc cng vic hng ngy bng cch t ng ha
chng. Thay v thc hin bng tay cc cng vic lp i lp li, bn c th ghi li mt
macro n gin cho ton b cng vic mt ln.
Xy dng Macro bao gm cc hnh ng la chn t mt danh sch, v sau
in vo cc i s ca hnh ng.
Gi s xy dng mt Form vi nt ng Form bng cch to nt trn Form v
xy dng mt Macro ng Form sau gn Macro cho s kin Click ca nt.

Object: Button
Event: Click
Action: Close
C 3 loi Macro:
- Standalone Macros: L mt i tng ca c s d liu, Macro ny sau khi
c to v lu th n xut hin trong phn Macro ca Navigation Pane..
- Data Macros: L loi Macro c lu tr nh mt phn ca mt Table. Bn
c th thit k sao cho Table thc thi Macro trc hoc sau khi mt record c thm,
chnh sa hoc xa.
- Embedded Macros: L loi Macro c lu tr nh mt phn ca mt Form
hoc Report. Macros ny ch thc thi khi Form hoc Report hoc mt i tng trn
Form hoc Report chu tc ng ca mt s kin.

ThS. Dng Thnh Pht

Trang 117

Microsoft Access 2010


7.2 Cch to v thc thi Standalone Macros
7.2.1 Cch to
- Chn Tab Create trn thanh Ribbon, trong nhm lnh
Macro & Code, Click nt Macro.
- Xut hin ca s thit k Macro vi cc thnh phn:
+ Khung bn tri dng chn cc Action trong Macro.
+ Khung bn phi cha cc Action theo nhm v cc i tng trong c
s d liu c gn Macro.

- Chn Action trong khung Add New Action.


- ng vi nhng Action khc nhau th xut hin cc cho bn chn hoc nhp
cc Argument tng ng.

V d: Khi chn Action l GotoRecord th s xut hin cc Argument nh hnh.

- Tip tc chn Action tip theo bng cch Click Add new Action.
ThS. Dng Thnh Pht

Trang 118

Microsoft Access 2010


7.2.2 Thc thi Macro
- i vi macro khng gn cho s kin ca mt i tng c th th chn tn
Macro v Click nt run

thc thi hoc Double Click vo tn Macro, thng dng

cho cc Macro cha cc lnh Open.


- i vi Macro m ch c th thc thi khi tc ng vo mt i tng c th
trn Form hoc Report th sau khi to v lu Macro th phi gn Macro cho s kin ca
i tng c th. Cc thc hin.
+ M Form hoc Report cha i tng cn gn Macro.
+ Click phi trn i tng chn Properties, hoc chn i tng
M Properties Sheet.
+ Chn Tab Event, chn s kin (Event).
+ Trong danh sch x xung chn tn Macro.

7.2.3 Sub Macro


Cc Macro c cng tnh cht, cng chc nng hoc thc hin cc hnh ng trn
cng mt Form, Report thng c to trong cng mt Macro, cc Macro c to
bn trong mt Macro gi l Submacro. Mt Macro cha nhiu Submacro bn trong n
v vy mi Submacro thnh phn bn trong phi c phn bit bng mt tn ring.
Cch to
- Trong ca s thit k Macro, m khung Action Catalog bng cch Click
nt Action Catalog trong tab Design trn thanh Ribbon.

ThS. Dng Thnh Pht

Trang 119

Microsoft Access 2010

- Drag chut ko Submacro trong khung Action Catalog vo ca s thit k


Macro.
- Trong ca s thit k xut hin khung Submacro.

- Nhp tn cho Submacro.


- Chn Action cho Submacro.
- Khi gn Submacro, ta truy xut vo tn ca Submacro.
7.2.4 Cc Actions v cc Events thng dng
Actions
Trong Access 2010 action c chia thnh nhm theo chc nng.
Data Entry Operations

Macro Commands

+ DeleteRecord

+ OnError

+ EditListItems

+ RemoveAllTempVars

+ SaveRecord

+ RunDataMacro

Data Objects

+ RunMenuCommand

+ GotoControl

+ SetLocalVar

+ GotoPage

+ SetTempVar

+ GotoRecord

+ StopAllMacros

+ OpenForm

+ StopMacro

ThS. Dng Thnh Pht

Trang 120

Microsoft Access 2010


+ OpenReport

System Commands

+ OpenTable

+ Beep

+ PrintObject

+ CloseDatabase

+ PrintPreview

+ QuitAccess

+ SelectObject

User Interface Commands

+ SetProperty

+ AddMenu

Filter/Query/Search

+ BrowseTo

+ ApplyFilter

+ LockNavigationPane

+ FindNextRecord

+ MessageBox

+ FindRecord

+ SetMenuItem

+ OpenQuery

+ UndoRecord

Window Management

RemoveFilterSort

+ CloseWindow

+ SetFilter

+ MaximizeWindow

+ SetOrderBy

+ MinimizeWindow

+ ShowAllRecords

+ MoveAndSizeWindow
+ RetoreWindow

Events
S kin tc ng ln i tng thc thi Macro.
Ty thuc vo i tng khc nhau s c nhng Event khc nhau.
- Mouse v Keyboard event
ngha

Event
Click

Click chut trn i tng.

DblClick

Double Click trn i tng.

MouseDown

Nhn phm ca chut trn mt i tng.

MouseMove

Di chuyn chut ngang i tng.

MouseUp

Th phm ca chut khi ang tr n i


tng.

KeyDown

Nhn phm ca bn phm.

KeyUp

Th phm.

- Form Event
Event
ThS. Dng Thnh Pht

ngha
Trang 121

Microsoft Access 2010


Open

Khi Form c m, nhng Record u


tin cha hin th

Load

Khi Form c load vo b nh nhng


cha m

Resize

Khi kch thc ca Form thay i

Unload

Khi ng Form v Record Unload, v


trc khi Form di chuyn khi mn hnh

Close

Khi ng Form

Activate

Khi Form nhn Focus, tr thnh ca s


Active

GotFocus

Khi Form khng Active

LostFocus

Khi Form mt Focus

- Form Data Events


ngha

Event
Current

Khi di chuyn mt Record khc n


Record hin hnh

BeforeInsert

Sau khi d liu u tin c nhp vo


New Record v trc khi Record thc s
c to

AfterInsert

Sau khi New Record c thm vo bng

BeforeUpdate

Trc khi d liu thay i c cp nht


vo Record

ApterUpdate

Sau khi d liu thay i c cp nht


vo Record

Filter

Khi Filter c ch nh nhng trc khi


n c p dng

ApplyFilter

Sau khi Filter c p dng vo Form

- Control Event
Event

ngha

BeforeUpdate

Trc khi d liu trong Control thay i


th cp nht vo Recordset

AfterUpdate
ThS. Dng Thnh Pht

Sau khi s thay i d liu c cp nht


Trang 122

Microsoft Access 2010


vo Recordset ca Form
Change

Khi ni dung trong Textbox thay i

GotFocus

Khi mt Control nhn Focus

LostFocus

Khi mt Control mt Focus

Click

Khi click chut

DblClick

Khi Double Click

7.3 To Data Macro


Data macro l loi Macro c lu tr nh mt phn ca mt Table, Macro ny
khng xut hin trong phn Macro ca Navigation pane.
7.3.1 Cch to
- M bng ch Design view bng cch Click phi trn tn ca Table trong
Navigation Pane v chn Design View.
- Click nt Create Data Macros trong nhm lnh Field, Record & Table Event.
- Xut hin danh sch cc s kin (Event) ca Data
Macro:
+ After Insert After: Sau khi mt record mi
c thm vo bng.
+ After Update: Sau khi bt k mt field trong
bng c Uppdate.
+ After Delete: Sau khi mt record trong bng b
xa.
+ Before Delete: Khi mt record trong bng b
xa.
+ Before Change: Khi mt record trong bng
c uppdate.
- Chn mt Event trong danh sch.
- Xut hin ca s thit k Macro, chn Action cho Macro theo yu cu.
- ng ca s thit k Macro, tr li ca s thit k bng.
- ng ca s thit k v lu sau m bng li ch Datasheet View.
V d: To mt Data Macro ngn khng cho ngi nhp liu trng hc bng.

ThS. Dng Thnh Pht

Trang 123

Microsoft Access 2010

Khi nhp d liu hoc chnh sa d liu trong bng nu trng hc bng th
xut hin thng bo nh hnh sau.

7.3.2. Cc Action ca Data Macro


-

DeleteRecord: Nh

tn

gi

ca

n,

DeleteRecord xa mt record trong mt bng (khng c


xc nhn ca ngi dng). R rng, DeleteRecord phi
c cn thn s dng ngn chn vic xa d liu qu
gi t ng dng.
- CancelRecordChange: Hy b cc thay i
c thc hin bi EditRecord v CreateRecord.
- ExitForEachRecord: ForEachRecord duyt qua
mt Recordset m n c tr v t mt Table hoc
Query, cho php Macro thay i d liu ca Recordset.
C nhiu tnh hung m Data Macro cn phi thot khi
mt vng lp ForEachRecord trc khi duyt n cui
Recordset.
- LogEvent: Tt c cc ng dng ca Access
2010 bao gm mt bng UsysApplicationLog c s
dng ghi li cc li Data Macro v c th c s
dng truy cp cc thng tin khc. LogEvent thm mt
record vo USysApplicationLog bt c lc no bn
mun t mt Data Macro.
- SendEmail: gi mt e-mail bng cch s dng Microsoft Office Outlook.
ThS. Dng Thnh Pht

Trang 124

Microsoft Access 2010


- SetField: cp nht gi tr ca mt field trong mt bng. Nhng Argument ca
SetField bao gm tn bng v tn field, v gi tr mi gn cho field ny.
- SetLocalVar: Macro trong Access 2010 c th s dng cc bin cc b
thng qua cc gi tr t mt phn ca mt macro khc.
- StopMacro: chm dt v thot khi macro. Hu ht thng c s dng
kt hp vi mt khi lnh IF.
- StopAllMacros: Kt thc cc Action thc hin song song.
- RunDataMacro: i s duy nht ca n l tn ca mt s data macro khc,
n gin ch gi macro v cho php n thc hin cc Action ca n nh l mt hot
ng n l.
- OnError: Action chnh trong Access 2010 v x l li macro. OnError ch th
cho Access phi lm g khi li xy ra trong qu trnh thc hin macro.
- RaiseError: thng qua mt li chuyn n cc lp giao din ngi dng. V
d s dng RaiseError cho s kin BeforeChange xc nhn d liu trc khi c s
thay i trong c s d liu.
- ClearMacroError: Action ny thc thi khi mt li c x l bng action
RaiseError.
7.3.3 Xa Data Macro
- xa Data Macro, ta m bng ch Design View.
- Click nt Rename/Delete Macro.
7.4 Embedded Macros
Khi to mt nt lnh trn Form bng chc nng Wizard th mt Macro c gn
lin vi Form ging nh Data Macro c gn lin vi bng. Macro ny khng xut
hin trong phn Macro ca Navigation Pane.
xem hoc hiu chnh ni dung ca Embedded Macro ta m Form hoc
Report ch Design View, chn nt lnh v m Properties Sheet ca nt lnh, ti
Event, Click nt

, xut hin ca s thit k Macro, sau thc hin hiu chnh.

ThS. Dng Thnh Pht

Trang 125

Microsoft Access 2010

7.5 Hiu chnh Macro


7.5.1 Thay i Action Arguments
- Click chn mt Action.
- Xut hin cc Textbox cho php nhp hoc hiu chnh Argument ca Action.
- Lu li kt qu sau khi thay i.

7.5.2 Sp xp cc Actions
- Click vo bt k phn no ca Action, ngoi tr bn trong cc Textbox.
- Drag chut ko Action n v tr mi.
- Hoc Click vo n, v sau s dng ln v xung cc phm mi tn trn bn
phm hoc mi tn mu xanh trong ca s thit k.
7.5.3 Thm mt Action mi
Bn di ca mi Macro lun c mt Add New
Action ch bn la chn mt Action. Tuy nhin, c
mt cch khc tm thy nhng Action l da vo
khung Action Categories, bng cch Double Click vo
Action m bn mun thm vo Macro.

ThS. Dng Thnh Pht

Trang 126

Microsoft Access 2010


7.5.4 Xa mt Action
- Chn Action cn xa.
- Click nt Delete bn phi hoc nhn phm Delete.

7.6 Cc hm thng dng trong biu thc iu kin


7.6.1 Hm MsgBox (Message, Type, Title)
Hm c tc dng cho xut hin hp thng bo, trn hp thng bo c cc nt
Yes, No, OK, cho ngi dng chn la. Gi tr tr v ca hm chnh l s chn
la Click vo nt lnh no trn hp thng bo
Cc tham s ca hm
- Message: Ni dung ca chui thng bo.
- Type: gi tr s biu din cc nt lnh v biu tng trn hp thng bo.
- Title: tiu ca hp thng bo.
Gi tr s ca cc biu tng v nt lnh trn hp thng bo
Gi tr s Biu tng v nt lnh trn hp thng bo
16

Du cm (Stop)

32

Du hi (Question)

48

Du cm thn (Exclamation)

64

Du thng tin

Hai nt

Ba nt

Ba nt

Hai nt

Gi tr tr v ca hm l s chn la nt lnh trn hp thng bo


Gi tr tr v
ThS. Dng Thnh Pht

ngha
Trang 127

Microsoft Access 2010


1

Ngi s dng chn nt OK

Ngi s dng chn nt Cancel

Ngi s dng chn nt Abort

Ngi s dng chn nt Retry

Ngi s dng chn nt Ignore

Ngi s dng chn nt Yes

Ngi s dng chn nt No

V d: Nt Xa. Hi ngi dng trc khi xa

7.6.2. DCount (Expr, Domain, Criteria)


m s record trong tp record c ch nh bi tham s Domain tha mn
iu kin c ch nh trong biu thc criteria.
+ Expr: tn field mun m s record.
+ Domain: tn bng cha expr.
+ Criteria: biu thc iu kin.
V d: =DCount ("[MaHD]", "HoaDon", "[MaKH] = SJC")
7.7 Macro Autoexec
Macro Autoexec l Macro t ng thc thi khi chng trnh c khi ng v
c tn l Autoexec.
Macro Autoexec thng dng m Form giao din, khi ng dng c khi
ng th Form giao din t ng m ra u tin. thc hin ta to mt Macro
Autoexec cha Action OpenForm, FormName l tn Form giao din, tn Macro l
Autoexec.
7.8 Xy dng h thng Menu bng Macro
Mt ng dng hon chnh thng cn n h thng Menu lin kt cc thnh
phn thnh mt h thng.
V d: H thng Menu trong chng trnh qun l sinh vin.
ThS. Dng Thnh Pht

Trang 128

Microsoft Access 2010

7.8.1 To Macro cho h thng Menu


Trong Access 2010, Menu do ngi dng to c t chc thnh nhm ging
nh nhm lnh trn thanh Ribbon t trong Tab Add-In.
- To Menu cp 1: chnh l Main Menu dng Action AddMenu vi cc
Argument nh sau:
+ Menu Name: tn cc Menu trong Menu cp 1.
+ Menu Macro Name: tn Macro to Menu cp 2.
+ StatusBar Text: Dng vn bn xut hin trn thanh Status Bar khi Menu
c chn.
+ Gi s Main Menu gm 4 Menu.

+ Tng ng vi mi Menu trong Main Menu ta to mt Macro vi tn


chnh l tn trong thuc tnh Menu Macro Name ca Main Menu.
- To Macro cho Menu cp 2
+ Macro ny c tn trng vi tn c t trong mc Menu Macro
Name ca Macro cp 1, mi Menu l mt Macro.
7.8.2 a Menu vo chng trnh
a Menu vo hot ng th cn phi c mt Form chnh ca chng trnh,
khi Form ny c m th h thng Menu s c kch hot:

ThS. Dng Thnh Pht

Trang 129

Microsoft Access 2010


- M Form chnh ch Design.
- Click phi trn Form Properties.
- Chn tab Other.
- Ti thuc tnh Menu Bar, nhp tn
Macro cp 1.

----------Ht----------

ThS. Dng Thnh Pht

Trang 130

You might also like