Phân lo i Macro trong Microsoft Access có 2 lo i: Macro n và Macro nhóm... Vào menu View\Condition.. Vào menu View\Macro Name.. Sau ó thêm các thao tác vào macro.
Trang 1CH NG VII : MACRO (T P L NH) 7.1 Gi i thi u :
7.1.1 Khái ni m
p l nh là m t công c mà Microsoft Access cung c p cho ng i s d ng
có các thao tác n gi n trong lúc xây d ng ch ng trình ng d ng mà không c n quan tâm n ngôn ng l p trình Visual Basic, ch ng h n nh m các bi u m u, các báo cáo c ch nh tr c, t ng tính thành ti n khi ã nh p s l ng và n giá c a m t hàng trên bi u m u hóa n…
Ngoài ra s d ng t p l nh giúp chúng ta liên k t các i t ng trong t p tin CSDL Access l i v i nhau giúp cho ng d ng c hoàn h o h n Gi s sau khi
ã t o ra các b ng, bi u m u, báo cáo c a ng d ng, chúng ta không yêu c u ng i
d ng ch ng trình khi mu n ch y bi u m u thì ph i ch n tên bi u m u ó và
ch n nút Open mà t t c các ch c n ng ó ph i th hi n d i d ng th c n ho c các bi u t ng trên màn hình chung c a ng d ng và khi ng i s d ng ch n vào
nó thì t t c các bi u m u ho c báo cáo t ng ng c m ra
i m t t p các thao tác c b n c a Access, chúng ta có th k t h p l i t o
ra các thao tác n gi n c a riêng mình nh m gi i quy t v n nào ó trong quá trình xây d ng ng d ng mà không c n dùng n ngôn ng l p trình Visual Basic Bên trong n i dung t p l nh s ch a các l nh riêng c a Microsoft Access cung c p,
th t các l nh thông th ng c th c hi n t trên xu ng (tu n t ), tuy nhiên chúng ta có th ki m tra m t u ki n nào ó ph i úng tr c khi th c hi n thao tác ó
Tóm l i: Macro là m t t p l nh, m t t p h p các thao tác c b n nh m giúp
ng i dùng t ng hóa m t s công vi c c l p i l p l i th ng xuyên nh m
ng thêm tính hi u qu và chính xác cho CSDL Dùng Macro cho các m c ích sau:
- Làm cho bi u m u và báo cáo ph i h p v i nhau t t h n
- t giá tr m c nh cho u khi n
- Tìm ki m m u tin th a u ki n
- Ph i h p t o các nút l nh trong Form,
- T o giao di n thân thi n cho ng i s d ng ch ng trình thông qua menu và
bi u t ng u khi n
7.1.2 Phân lo i
Macro trong Microsoft Access có 2 lo i: Macro n và Macro nhóm
- Macro n: Là các macro không ch a m t macro khác trong nó Mu n th c
hi n ta ph i g i ngay tên c a nó
- Macro Group: Là m t macro ch a nhi u macro trong nó, các macro này
c phân bi t v i nhau b ng tên Cách g i m t macro có trong macro nhóm là Tên macro nhóm.Tên macro con. u ta có nhi u macro trong h CSDL thì nên nhóm các macro vào chung m t nhóm d ki m soát Thông th ng m t Form s có m t Macro Group ch a các macro khác c a form trong nó
7.2 T o m t macro.
M c a s thi t k macro theo m t trong ba cách sau:
- Cách 1: T ng n Macro, click vào New.
- Cách 2: Click vào nút Build (…) bên ph i thu c tính s ki n (Event) trong
ng thu c tính c a form ho c u khi n mà b n mu n t o m t macro g n
i nó, sau ó ch n Macro Buider, click OK.
- Click ph i vào form/ u khi n r i ch n Build Event, sau ó ch n Macro Builder, click OK (Xem ph n 7.5.3)
Trang 2Ch n hành ng trong c t Action, thi t l p các thông s (Arguments) cho
hành ng ó N u c n có th mô t hành ng trong c t Comment
L p l i b c thêm hành ng vào macro
L u macro
u ý: N u s d ng cách 2 ho c 3 thì b n c n ph i t tên cho macro tr c khi vào c a s thi t k n u macro ó ch a t n t i
* Ch y Macro: Có th ch y Macro trong các tr ng h p sau:
+ Ch n Macro trong c a s Database, click vào nút Run
+ G n macro vào các hu c tính bi n c OnClick, ApterUpdate, c a form/report và các u khi n trên Form/Report
7.3 Các hành ng và i s c a các hành ng trong macro.
AddMenu
- Ý ngh a : Liên k t các th c n nhóm ã có ( c t o
ng công c nhóm t p l nh) và thanh th c n ngang t o thành m t thanh th c n chính
- Các tham s :
+ Menu Name: Tên ch c n ng xu t hi n trên thanh
th c n ngang
+ Menu Macro Name: Tên t p l nh làm th c n nhóm cho m t ch c n ng trên thanh th c n ngang
+ Status Bar Text: Chu i v n b n ghi chú s xu t hi n
trên thanh tr ng thái khi th c n c ch n
ApplyFilter
- Ý ngh a: Cho phép l c d li u trên thanh bi u m u khi hi n
th trên màn hình
- Các tham s :
+ Filter Name: Tên c a truy v n dùng l c d li u
+ Where Condition: u ki n l c d li u (gi ng nh
u ki n trong m nh Where c a câu l nh SQL) Beep - Ý ngh a: Phát ra ti ng kêu Beep
CancelEvent - Ý ngh a: y b m t thao tác ang th c hi n
Close - Ý ngh a: óng Report, Form, ang m
- Các tham s :
Trang 3+ Object Type: Ki u i t ng + Object Name: Tên i t ng + Save: Có l u l i các thay i khi óng i t ng
DeleteObject
- Ý ngh a: Xóa m t i t ng trong t p tin CSDL hi n hành
- Các tham s :
+ Object Type: Ki u i t ng + Object Name: Tên i t ng
Echo
- Ý ngh a: Hi n/ n k t qu th c hi n t p l nh trên thanh
tr ng thái
- Các tham s :
+ Echo on: Hi n k t qu + Status Bar Text: Chu i s c xu t hi n trên thanh
tr ng thái khi tham s Echo On có giá tr là False
FindNext - Ý ngh a: Tìm m u tin k ti p th a m t u ki n dò tìm
trong thao tác FindRecord tr c ó
FindRecord
- Ý ngh a: Tìm ki m m u tin u tiên th a u ki n dò tìm
- Các tham s :
+ Find What: Giá tr c n tìm ki m + Match Case: Có phân bi t ch hoa hay th ng + Search: Ph m vi dò tìm tùy thu c vào v trí m u tin
hi n hành ho c i lên, i xu ng hay tìm t t c các m u tin + Search As Formated: Có phân bi t tìm úng nh
ng d li u ã c nh d ng khi hi n th
GoToControl
- Ý ngh a: Cho phép di chuy n con nháy n m t u khi n (Control) ch nh tr c trên bi u m u
- Tham s : Control Name: Tên u khi n
GoToPage
- Ý ngh a: Cho phép nh y n m t trang ch nh trong bi u
u có nhi u trang
- Các tham s :
+ Page Nember: S trang mu n di chuy n n + Right: Kho ng cách so v i l trên
+ Down: Kho ng cách so v i l trái
GoToRecord
- Ý ngh a : Di chuy n t ng i m u tin hi n hành trên các
bi u m u, truy v n
- Các tham s :
+ Object Type: Ki u i t ng + Object Name: Tên i t ng + Record: V trí di chuy n là tr c, sau, u, cu i, m i,
i m t m u tin s m y
+ Offset: V trí th m y c a m u tin trên dãy các nút di chuy n (Navigation Buttons)
HourGlass
- Ý ngh a: Cho phép thay i bi u t ng c a chu t.
- Các tham s :
+ HourGlass On: B t/t t vi c thay i bi u t ng chu t
Trang 4Minimize,
Restore
- Ý ngh a: Phóng to (Maximize), thu nh (Minimize), ho c tr
i kích th c hi n t i (Restore) c a c a s hi n hành
MsgBox
- Ý ngh a: Xu t hi n m t h i tho i thông báo ra màn hình
- Các tham s : + Message: N i dung thông báo
+ Beep: Phát/t t ti ng beep
+ Type: Bi u t ng kèm theo h p h i tho i: ? !, + Title: Tiêu cho h p h i tho i
OpenForm
- Ý ngh a: m t Form
- Các tham s :
+ Form Name: Tên Form mu n m + View: Hi n th bi u m u ch nào (in, thi t k , ) + Filter Name: Tên truy v n s làm b l c d li u ngu n cho bi u m u
+ Where Condition: Bi u th c l c t a nh u ki n trong m nh Where câu l nh SQL
+ Data Mode: Ch hi n th d li u: Thêm m i, s a
i ho c ch c
+ Windows Mode: Ch n ch c a s cho form
OpenQuery
- Ý ngh a: M ho c th c hi n m t truy v n
- Các tham s :
+ Query Name: Tên Query mu n m + View: Hi n th Query các ch : Thi t k , xem
tr c khi in, c p nh t d li u
+ Data Mode: Ch hi n th d li u: Thêm m i, s a
i ho c ch c
OpenReport
- Ý ngh a: M m t báo cáo.
- Các tham s :
+ Report Name: Tên báo cáo + View: Hi n th Report các ch : In ra máy in, xem
tr c khi in, màn hình
+ Filter Name: Tên truy v n s làm b l c d li u ngu n cho báo cáo
+ Where Condition: Bi u th c l c t a nh u ki n trong m nh Where câu l nh SQL
OpenTable
- Ý ngh a: m t Table.
- Các tham s :
+ Table Name: Tên Table mu n m + View: Hi n th Table các ch : Thi t k , xem
tr c khi in, c p nh t d li u
+ Data Mode: Ch hi n th d li u: Thêm m i, s a
i ho c ch c
PrintOut - Ý ngh a: In i t ng hi n hành ra máy in
Trang 5- Các tham s :
+ Print Range: Ph m vi in
+ Page From: Trang u
+ Page To: Trang cu i
+ Print Quality: Ch t l ng in cao, trung bình,
+ Copies: S b n in
+ Collate Copies: Cách in khi in nhi u b n sao
Quit
- Ý ngh a: Thoát kh i Microsoft Access.
- Các tham s :
+ Options:Các ch c n ng thoát là: Nh c nh l u l i
nh ng gì ch a c l u, l u l i t t c mà không c n h i, không l u và thoát
Rename
- Ý ngh a: i tên i t ng
- Các tham s :
+ New Name: Tên m i + Object Type: Ki u i t ng + Old Name: Tên i t ng c
ReQuery
- Ý ngh a: p nh t l i d li u ngu n c a m t u khi n
- Các tham s : Control Name: Tên u khi n
RunApp - Ý ngh a: Cho thi hành m t ch ng trình trong Windows.
- Tham s : Command Line: ng d n c a ch ng trình
RunCode
- Ý ngh a: Cho th c hi n m t hàm có trong b mã l nh
a t p tin CSDL Microsoft Access
- Tham s : Function Name: Tên hàm
RunCommand
- Ý ngh a: Cho th c hi n m t s các ch c n ng l nh
ng ng các ch c n ng trong thanh th c n h th ng
a Microsoft Access
- Tham s : Command: L nh s th c hi n
RunMacro
- Ý ngh a: Cho th c hi n m t t p l nh
- Các tham s :
+ Macro Name: Tên t p l nh + Repeat Count: S l n l p l i
+ Repeat Expression: Bi u th c ch nh u ki n t p
nh ti p t c th c hi n
Save
- Ý ngh a: u m t i t ng
- Các tham s :
+ Object Type: Ki u i t ng + Object Name: Tên i t ng
SetValue
- Ý ngh a: Gán giá tr vào các u khi n, thu c tính c a các
u khi n
- Các tham s :
+ Item: Tên u khi n, thu c tính u khi n
Trang 6+ Expression: Giá tr c n gán vào ShowAllRecords - Ý ngh a: Hi n th l i t t c các m u tin c a b ng, truy v n.
ShowToolbar
- Ý ngh a: Hi n ho c n các thanh công c
- Các tham s :
+ Toolbar Name: Tên thanh công c + Show: Hi n ho c n
StopAllMacro - Ý ngh a: ng l i các t p l nh hi n ang ch y
StopMacro - Ý ngh a: ng l i m t t p l nh hi n ang ch y
ti n cho vi c ch n lo i thao tác, b ng sau ây s trình bày m t s n
th ng g p và các thao tác c s d ng gi i quy t v n t ng ng:
Th c hi n m t l nh trong th c n h th ng c a
Microsoft Access
RunCommand
Th c hi n m t truy v n, t p l nh ho c t p hàm
vi t b ng ngôn ng Visual Basic
OpenQuery, RunMacro, RunCode
Th c hi n m t ng d ng khác trong Windows RunApp
Ng ng ngang m t bi n c , m t t p l nh, thoát
kh i Microsoft Access
CancelEvent, StopMacro, StopAllMacros, Quit
i m t i t ng c a Microsoft Access ra m t
ng d ng khác
OutPutTo
Hi n th các thông báo trên màn hình Echo, HourGlass, MsgBox Cho phép hi n ho c n các thanh công c ShowToolbar
Di chuy n m u tin, tìm ki m d li u GoToRecord, FindRecord,
FindNext
Di chuy n qua các trang, u khi n trên bi u m u GoToPage, GoToControl
Gán giá tr cho m t u khi n ho c thu c tính
a m t u khi n
SetValue
p nh t l i d li u c a các u khi n, màn hình ReQuery, ShowAllMacros
OpenTable, OpenReport, OpenModule, RunMacro, Close
In các i t ng trong t p tin CSDL OpenQuery, OpenForm,
OpenTable, OpenReport, Print
7.4 Các lo i macro
7.4.1 Macro có u ki n
7.4.1.1 Ý ngh a c a Macro có u ki n
N u nh có yêu c u tr c khi th c hi n m t thao tác nào ó trong t p l nh thì chúng ta ph i ki m tra m t u ki n tr c, n u u ki n ó úng thì thao tác ó
th c hi n ng c l i thì có th thao tác khác c th c hi n ho c s không có
Trang 7thao tác nào c th c hi n Ngh a là các thao tác trong macro tr c ây mà chúng
ta ã t o s không nh t thi t ph i c th c hi n t t c theo th t t trên xu ng
i mà còn ph thu c vào u ki n mà chúng ta s a vào mu n ki m tra là úng ho c sai
Ví d : o macro yêu c u ng i s d ng xác nh n có ng ý xóa m u tin hi n hành hay không N u ng i s d ng ng ý xóa thì th c hi n xóa, ng c l i không
th c hi n gì c
Macro ch thi t k nh sau:
Khi thi hành macro này, h p tho i sau s xu t hi n:
u ng i dùng click nút Yes, hành ng RunCommand s th c hi n l nh DeleteRecord xóa m u tin, ng c l i, macro s k t thúc mà không làm gì c
s d ng macro trên, c n ph i g n nó vào thu c tính s ki n c a m t nút nh
7.4.1.2 Hàm Msgbox
Cú pháp: Msgbox(chu i 1,s 1, [, chu i 2]) s 2
Trong ó:
Chu i 1: Bi u th c s c xu t hi n trong h p tho i
S 1: i di n cho các bi u t ng và nút l nh i kèm trong h p tho i S 1
có th nh n m t trong các giá tr trong b ng sau ây
Giá tr Bi u t ng ho c nút l nh s xu t hi n
16 Bi u t ng d u c m (Stop)
32 Bi u t ng d u h i (Question)
48 Bi u t ng d u c m thán (Exclamation)
64 Bi u t ng d u thông tin (Information)
1 m hai nút OK, Cancel
2 m ba nút Abort, Retry, Ignore
3 m hai nút Yes, No, Cancel
4 m hai nút Yes, No
Chúng ta có th k t h p các s này l i v i nhau cùng lúc trên h p tho i xu t
hi n các nút và các bi u t ng b ng cách c ng hai s l i v i nhau
Thí d : mu n có hai nút Yes, No và bi u t ng d u h i thì chúng ta ghi 32+ 4
ho c 36
Chu i 2: là bi u th c chu i ch tiêu c a h p tho i, n u không ghi thì tiêu
c a h p tho i là ch Microsoft Access
Trang 8S 2: là giá tr tr v mà ng i s d ng ã ch n, có th là m t trong các giá
tr sau ây:
7.4.1.3 Thao tác chèn thêm c t u ki n trong macro.
M t p l nh ch thi t k
Vào menu View\Condition
Ghi u ki n c n ki m tra cho các thao tác trong macro trên c t u ki n
i thêm vào
u ý: ôi khi v i m t u ki n úng chúng ta c n th c hi n nhi u thao tác
ng th i Khi ó chúng ta ch c n dùng 3 d u ch m ( ) t dòng th 2 tr v sau
Ví d :
Khi c p nh t d li u
cho b ng MONHOC b ng
t bi u m u (Form), n u
t tên môn h c tr ng
thì chúng ta s th c hi n 2
thao tác: Thông báo l i và
nh con nháy v v trí u
khi n tên môn h c nh p
i
7.4.2 T o macro nhóm (Macro Group)
M m t macro ch Design
Vào menu View\Macro Name Khi ó trong c a s thi t k s xu t hi n thêm
t Macro Name
t tên cho macro trong c t Macro name Sau ó thêm các thao tác vào macro
L p l i b c 3 cho t o các macro khác trong cùng nhóm
L u macro Tên macro là tên c a macro nhóm
L u ý: g i m t macro trong macro nhóm, b n s d ng cú pháp:
Tên_macro_nhóm.Tên_macro.
Ví d : Macro Thao Tac Cap Nhat c minh h a trong màn hình sau là m t macro nhóm có 9 macro con
Trang 97.4.3 Macro AutoKeys
Macro AutoKeys là m t macro cho phép ta dùng bàn phím thi hành m t hành ng nào ó Ví d : khi nh n phím Ctrl+P thì in ra máy in m t Report
Cách t o:
M macro ch Design
Hi n th c t Macro name n u nó ch a xu t hi n
Nh p các mã phím mu n s d ng vào c t Macro Name và ch n m t hành
ng t ng ng trong c t Action Mã phím là m t ký hi u i di n cho m t phím trên bàn phím c li t kê trong b ng d i ây
L u macro l i v i tên là AutoKeys.
ng mã phím (Key Code) và phím t ng ng trên bàn phím:
{BACKSPACE}, {BS}, ho c {BKSP} BACKSPACE
{CAPSLOCK}, {NUMLOCK},
{SCROLLLOCK}
CAPS LOCK , NUM LOCK, SCROLL LOCK
{F1}, {F2}, {F12} F1, F2, , F12
Ví d : T o m t macro AutoKeys th c hi n nh ng công vi c sau:
- Ctrl - P: M form F_Danh m c v t t
Trang 10- Shift - F12: M table T_Khách hàng.
- Alt - R: M report R_Chi ti t nh p Xu t
- Ctrl - Shift - F11: M query Q_Chi ti t nh p xu t
7.4.4 Macro Autoexec
Macro Autoexec là lo i macro c t ng thi hành ngay khi m t p tin CSDL
u ý:
- Ph i t tên Macro úng ch Autoexec.
- Mu n không cho th c hi n Macro Autoexec ngay khi m Database ta ph i
nh n phím SHIFT khi th c hi n thao tác m
Ví d : Khi b n m t p tin Microsoft Access “Quan Ly ban hang” thì t ng m Form có tên Main Switch làm c vi c này, ta t o m t macro có tên Autoexec
và có n i dung nh sau:
7.5 K t macro vào các bi n c (Event)
Nh các ph n trên gi i thi u, chúng ta có th cho th c hi n m t macro b ng cách ch n và click nút Run, tuy nhiên trên th c t thì chúng ta không th yêu c u
ng i s d ng ph i nh h t tên c a t ng Macro và g i nó th c hi n khi mu n, mà thông th ng các t p l nh này s c k t vào các bi n c c a các u khi n, các
bi u m u, các báo bi u ho c a vào các ch c n ng bên trong thanh th c n, thanh công c
Khi các bi n c x y ra t c thì các thao tác trong macro ã c k t vào các
bi n c này s c th c hi n
7.5.1 Khái ni m v bi n c
Là nh ng s ki n c t ng phát sinh khi có các thao tác nh : nh n phím,
nh n chu t, di chuy n chu t, c x y ra trên bi u m u ho c báo bi u trong su t