event khác nhau.
− Mouse và Keyboard event
Event Ý nghĩa
Click click chu t trên đ i tộ ố ượng. DblClick Double click trên đ i tố ượng.
MouseDown Nh n phím c a chu t trên m t đ i tấ ủ ộ ộ ố ượng. MouseMove Di chuy n chu t ngang đ i tể ộ ố ượng.
MouseUp Th phím c a chu t khi đang tr đ n đ i tả ủ ộ ỏ ế ố ượng KeyDown Nh n phím c a bàn phímấ ủ
KeyUp Th phímả
− Form Event
Event Ý nghĩa
Open Khi form được m , nh ng record đ u tiên ch a hi n thở ư ầ ư ể ị
Load Khi form được load vào b nh nh ng ch a mộ ớ ư ư ở
Resize Khi kích thướ ủc c a form thay đ iổ
Unload Khi đóng form và record unload, và trước khi form di chuy n kh i màn hìnhể ỏ
Close Khi đóng form
Activate Khi form nh n focus, tr thành c a s activeậ ở ử ổ
GotFocus Khi form không active LostFocus Khi form m t focusấ
− Form Data Events
Current Khi di chuy n m t record khác đ n record hi n hànhể ộ ế ệ
BeforeInsert Sau khi d li u đ u tiên đữ ệ ầ ược nh p vào new record vàậ trước khi record th c s đự ự ượ ạc t o
AfterInsert After the new record được thêm vào b ngả
BeforeUpdate Trước khi d li u thay đ i đữ ệ ổ ượ ậc c p nh t vào record.ậ
AfterUpdate Sau khi d li u thay đ i đữ ệ ổ ượ ậc c p nh t vào record.ậ
Filter Khi filter được ch đ nh nh ng trỉ ị ư ước khi nó được áp d ng.ụ
ApplyFilter Sau khi filter được áp d ng vào form.ụ
− Control Event
Event Ý nghĩa
BeforeUpdate Trước khi d li u trong control thay đ i thì c p nh t vào recordset.ữ ệ ổ ậ ậ
AfterUpdate Sau khi s thay đ i d li u đự ổ ữ ệ ượ ậc c p nh t vào recordset c a form.ậ ủ
Change Khi n i dung trong text box thay đ i.ộ ổ
GotFocus Khi m t control nh n focusộ ậ
LostFocus Khi m t control m t focusộ ấ
Click Khi click chu tộ
DblClick Khi double click
6.3. T o Data Macroạ
Data macro là lo i macro đạ ượ ưc l u tr nh m t ph n c a m t table, macro nàyữ ư ộ ầ ủ ộ không xu t hi n trong ph n macro c a Navigation pane.ấ ệ ầ ủ
6.3.1. Cách t oạ
M b ng ch đ Design view b ng cách click ph i tr n tên c a Table trongở ả ở ế ộ ằ ả ẹ ủ Navigation Pane và ch n Design view.ọ
Click nút Create Data Macros trong nhóm l nh Field, Record & Table Event.ệ
Xu t hi n danh sách các s ki n (Event) c a data macro:ấ ệ ự ệ ủ
After Insert After: Sau khi m t record m i độ ớ ược thêm vào b ng.ả
After Delete: Sau khi m t record trong b ng b xóaộ ả ị
Before Delete: Khi m t record trong b ng b xóa.ộ ả ị
Before Change: Khi m t record trong b ng độ ả ược uppdate. Ch n m t event trong danh sách.ọ ộ
Xu t hi n c a s thi t k macro, ch n action cho macro theo yêu c u.ấ ệ ử ổ ế ế ọ ầ
Đóng c a s thi t k macro, tr l i c a s thi t k b ng.ử ổ ế ế ở ạ ử ổ ế ế ả
Đóng c a s thi t k và l u sau đó m b ng l i ch đ datasheet view.ử ổ ế ế ư ở ả ạ ở ế ộ
Ví dụ: t o m t data macro đ ngăn không cho ngạ ộ ể ười nh p li u đ tr ng ô đ n vậ ệ ể ố ơ ị tính
.
Khi nh p d li u ho c ch nh s a d li u trong b ng n u đ tr ng ô đ n v tính thìậ ữ ệ ặ ỉ ử ữ ệ ả ế ể ố ơ ị xu t hi n thông báo nh hình trên.ấ ệ ư
6.3.2. Các Action c a data macroủ
DeleteRecord: Nh tên g i c a nó, DeleteRecord xóa m t record trong m t b ngư ọ ủ ộ ộ ả (không có xác nh n c a ngậ ủ ười dùng). Rõ ràng, DeleteRecord ph i đả ượ ẩc c n th n s d ngậ ử ụ đ ngăn ch n vi c xóa d li u quý giá t ng d ngể ặ ệ ữ ệ ừ ứ ụ
CancelRecordChange: H y b các thay đ i đủ ỏ ổ ược th cự hi n b i EditRecord và CreateRecord..ệ ở
ExitForEachRecord: ForEachRecord duy t qua m tệ ộ
Recordset mà nó được tr v t m t Table ho cả ề ừ ộ ặ Query, cho phép macro thay đ i d li u c a recordset. Cóổ ữ ệ ủ nhi u tình hu ng mà data macro c n ph i thoát kh i m tề ố ầ ả ỏ ộ vòng l p ForEachRecord trặ ước khi duy t đ n cu iệ ế ố recordset.
Ví d m t data macro tìm ki m m t giá tr trong m tụ ộ ế ộ ị ộ b ng, và hai giá tr đả ị ược tìm th y, không có c n ph i ti pấ ầ ả ế t c vòng l p thì ExitForEachRecord đụ ặ ược th c hi n theoự ệ m t đi u ki n.ộ ề ệ
LogEvent: T t c các ng d ng c a Access bao g m m t b ng UsysApplicationLogấ ả ứ ụ ủ ồ ộ ả đượ ử ục s d ng đ ghi l i các l i data macro và có th để ạ ỗ ể ượ ử ục s d ng truy c p các thông tinậ khác. LogEvent đ thêm m t record vào Usys Application Log b t c lúc nào b n mu nể ộ ấ ứ ạ ố t m t data macro.ừ ộ
SendEmail: g i m t email b ng cách s d ng Microsoft Office Outlook.ử ộ ằ ử ụ
SetField: c p nh t giá tr c a m t field trong m t b ng. Nh ng argument c aậ ậ ị ủ ộ ộ ả ữ ủ SetField bao g m tên b ng và tên field, và giá tr m i đ gán cho field này.ồ ả ị ớ ể
SetLocalVar: Macro trong Access có th s d ng các bi n c c b đ thông qua cácể ử ụ ế ụ ộ ể giá tr t m t ph n c a m t macro khác.ị ừ ộ ầ ủ ộ
StopMacro: đ ch m d t và thoát kh i macro. H u h t thể ấ ứ ỏ ầ ế ường được s d ng k tử ụ ế h p v i m t kh i l nh IFợ ớ ộ ố ệ
StopAllMacros: K t thúc các Action th c hi n song song.ế ự ệ
RunDataMacro: đ i s duy nh t c a nó là tên c a m t s data macro khác, đ n gi nố ố ấ ủ ủ ộ ố ơ ả ch đ g i macro và cho phép nó th c hi n các Action c a nó nh là m t ho t đ ng đ nỉ ể ọ ự ệ ủ ư ộ ạ ộ ơ l .ẻ
OnError: Action chính trong Access v x lý l i macro. OnError ch th cho Accessề ử ỗ ỉ ị ph i làm gì khi l i x y ra trong quá trình th c hi n macro.ả ỗ ả ự ệ
RaiseError: thông qua m t l i chuy n đ n các l p giao di nộ ỗ ể ế ớ ệ
người dùng. Ví d s d ng RaiseError cho s ki n BeforeChange đ xác nh n dụ ử ụ ự ệ ể ậ ữ li u trệ ước khi có s thay đ i trong c s d li u.ự ổ ơ ở ữ ệ
ClearMacroError: Action này th c thi khi m t l i đã đự ộ ỗ ược x lý b ng actionử ằ RaiseError.
6.3.3. Xóa data macro
Đ xóa data macro, ta m b ng ch đ Design view.ể ở ả ở ế ộ
Click nút Rename/Delete macro.
6.4. Embeddedmacros
Khi t o m t nút l nh trên form b ng ch c năng wizard thì m t macro đạ ộ ệ ằ ứ ộ ược g n li nắ ề v i form gi ng nh data macro đớ ố ư ược g n li n v i b ng. Macro này không xu t hi nắ ề ớ ả ấ ệ trong ph n macro c a Navigation pane.ầ ủ
Đ xem ho c hi u ch nh n i dung c a Embedded macro ta m form ho c report ể ặ ệ ỉ ộ ủ ở ặ ở ch đ design view, ch n nút l nh và m properties sheet c a nút l nh, t i event, clickế ộ ọ ệ ở ủ ệ ạ nút , xu t hi n c a s thi t k macro, sau đó th c hi n hi u ch nh.ấ ệ ử ổ ế ế ự ệ ệ ỉ
6.5. Hi u ch nh macroệ ỉ
6.5.1. Thay đ i action arguments.ổ
Click ch n m t actionọ ộ
Xu t hi n các text box cho phép nh pấ ệ ậ ho c hi u ch nh argument c a action.ặ ệ ỉ ủ
L u l i k t qu sau khi thay đ i.ư ạ ế ả ổ
6.5.2. S p x p các actionsắ ế
Click vào b t k ph n nào c a action, ngo i tr bên trong các text box.ấ ỳ ầ ủ ạ ừ
Drag chu t kéo action đ n v trí m i.ộ ế ị ớ
Ho c click vào nó, và sau đó s d ng lên và xu ng các phímặ ử ụ ố mũi tên trên bàn phím ho c mũi tên màu xanh trong c a s thi tặ ử ổ ế k .ế
6.5.3. Thêm m t action m i.ộ ớ
Bên dướ ủi c a m i macro luôn có m t ô Add New Action chỗ ộ ờ đ b n l a ch n m t action. Tuy nhiên, có m t cách khác đ tìmể ạ ự ọ ộ ộ ể th y nh ng action là d a vào khung Action categories, b ng cáchấ ữ ự ằ double click vào action mà b n mu n thêm vào macro.ạ ố
6.5.4. Xóa m t action.ộ
Ch n action c n xóaọ ầ
Click nút delete bên ph i ho c nh n phím Deleteả ặ ấ
6.6. Các hàm thường dùng trong bi u th c đi u ki nể ứ ề ệ
Hàm có tác d ng cho xu t hi n h p thông báo, trên h p thông báo có các nút yes, no,ụ ấ ệ ộ ộ ok, …đ cho ngể ười dùng ch n l a. Giá tr tr v c a hàm chính là s ch n l a click vàoọ ự ị ả ề ủ ự ọ ự nút l nh nào trên h p thông báo.ệ ộ
a. Các tham s c a hàmố ủ
Message: N i dung c a chu i thông báo.ộ ủ ỗ
Type: giá tr s bi u di n các nút l nh và bi u tị ố ể ễ ệ ể ượng trên h p thông báo.ộ
Title: tiêu đ c a h p thông báo.ề ủ ộ
b. Giá tr s c a các bi u tị ố ủ ể ượng và nút l nh trên h p thông báoệ ộ
Giá tr sị ố Bi u tể ượng và nút l nh trên h p thông báoệ ộ
16 Bi u tể ượng d u c m. (Stop)ấ ấ32 Bi u tể ượng d u h i. (Question)ấ ỏ