Macro, phân loại và tạo macro
Khái niệm về Macro
Macro trong Access là một công cụ cho phép thực hiện các tác vụ tự động và các chức năng
cho các Form, Report, Control ... Ví dụ, có một nút bấm trên Form, có thể liên kết sự
kiện bấm vào nút bấm đó (OnClick
) với một macro, macro đó chứa các lệnh, tác vụ
sẽ thi hành mỗi khí bấm vào nút bấm. Sử dụng macro có thể nhanh chóng tạo ra các chức năng mà không cần phải viết code VBA.
Phân loại macro
macro độc lập
(standalone) nó là một loại đối tượng của CSDL, xuất hiện trong Navigation Panelmacro nhúng
(embedded) là loại macro nhúng vào trong Form, Report nó là một phần của Form, Report - loại macro này thường dùng để thi hành một chức năng cho riêng Form nào đó.
Tạo macro độc lập
Bấm vào menu Create chọn Macro,
nhấn Ctrl + S lưu tên macro (Ví dụ tên MoFormHocSinhDS
,
khi chạy nó sẽ mở FormHocSinhDS)
Biên tập macro bằng cách thêm vào các hành động, chọn Action muốn thêm từ danh sách đổ xuống tại mục Add new Action 1
Tùy thuộc vào loại Action thêm vào, xuất hiện thêm các thiết lập (các tham số) cho Action đó, Ví dụ - nếu chọn Action là OpenForm 2 thì có thêm các thiết lập như 3
Để thi hành ngay macro bấm kép vào tên macro (hoặc mở) 4, hoặc ở chế độ Design View bấm vào biểu tượng Run 5
Một macro có thể có nhiều Action
Một macro có thể ấn định sẽ chạy, khi một sự kiện nào đó xảy ra trên các control của Form.
Ví dụ, có một nút bấm, vào thuộc tính các sự kiện Event của nó. Tại sự
kiện OnClick
gán bằng macro có tên MoFormHocSinhDS
Có nghĩa là khi có sử kiện bấm chuột vào nút bấm trên thì macro sẽ chạy, và dẫn tới FormHocSinhDS được mở.
Có nhiều sự kiện, tùy thuộc vào loại Control, một vài trường hợp thông dụng như dưới
Các sự kiện trên Form, Control
Mỗi đối tượng Form, Report, Control có các sự kiện khác nhau, để mở các sự kiện này thì mở thuộc tính của đối tượng và tới mục Event
Sự kiện với chuột / bàn phím
On Click
bấm chuột trên đối tượngOn Db Click
bấm kép chuột trên đối tượngOn Key Down
nhấn phímOn Key Up
nhả phím
Sự kiện với Form / Report
On Open
- khi Form được mở (record đầu tiên chưa hiện thị)On Load
- khi Form được đọc vào bộ nhớ (chưa mở, hiện thị)On Close
- Khi Form đóng
Sự kiện về dữ liệu trên Form
On Current
di chuyển record (record hiện hành)Before Insert
trước khi chèn record mới vào bảngAfter Insert
sau khi chèn record mới vào bảngBefore Update
trước khi cập nhật recordAfter Update
sau khi cập nhật record
Sự kiện trên Control
On Change
khi thay đổi giá trị, nội dung của điều khiển
Tạo Macro nhúng với Macro Builder
Macro nhúng nó tích hợp, lưu tại Form, Report. Để tạo ra macro nhúng, tại sự kiện
cần xây dựng macro
, bấm vào ...
1
, chọn Macro Builder
2
Màn hình soạn thảo macro tương tự như macro độc lập, tiến hành soạn thảo macro tương ứng cho sự kiện
Các Action thông dụng
MgsBox hộp thoại thông báo
Tham số
Message
: Nội dung thông báoTitle
: Tiêu đềBeep
: có tiếng beep hay khôngType
: Hiện thị biểu tượng: None, Critical (nguy hiểm), Warning (cảnh báo), Infomation (thông tin)
Close - đóng đối tượng
Tham số
Object type
- loại đối tượng muốn đóng (Table, Form ...)Object Name
-
CloseDatabase - đóng database
GoToControl - di chuyển Focus đến control
Tham sốControl Name
là tên control cần Focus (nhận bàn phím).
OpenForm - mở Form
Tham số
Form name
- tên Form cần mởWhere Condition
- tìm dữ liệu với điều kiện WhereData Mode
- Add thêm mới, Edit cập nhật
OpenQuery - chạy Query
Tham số Query Name
chỉ ra tên Query cần chạy
OpenReport - mở Report
Tham số Report Name
chỉ ra tên report cần mở
Requery - cập nhật lại control
Tham số Control Name
là tên control cần cập nhật
RunCommand - chạy các lệnh của Access