(15-11-16, 09:40 AM)MinhnHang Đã viết: Gửi anh/chị.
Em đang trong thời gian tự vọc VBA trong Access.
Phiền anh/chị chỉ bảo em sựa khác nhau giữa Module và Class Module, phạm vi áp dụng của từng loại.
Em xin cảm ơn ạ!
Class Module: được viết dưới dạng *.cls (class Module) và tương trợ như *.bas (Modules), Khác biệt ở chổ là module dùng làm thư viện (hàm số, biến số, hăng số, enum,...). Còn Class dùng để mô tả đối tượng (với các phương thức, thuộc tính, sự kiện...)
1. Nói về Class: dùng để tạo ra những Object ( Đối tượng) theo ý muốn của người thiết kế dữ liệu. Thông qua Class ta có thể tạo ra được những Object với đầy đủ
Properties, Methods, Events tương tự như những Object có sẵn trong Access VBA...Xem hình phía dưới hàm có sẳn của Access
+ Properties: ta sẽ định nghĩa các thuộc tính, kiểu dữ liệu là gì
+ Methods: ta tạo các phương thức như Thêm, sửa, Xoá
+ Events: Tạo nhằm mục đích bẩy 1 sự kiện nào đó như nhấn chuột, thay đổi dữ liệu, mở hoặc đóng form...Thông thường, ta có các Event để làm nhiệm vụ nạp Class (Class_Initialize) và đóng Class (Class_Terminate).
* Khi viết class, nếu ta chưa dùng đến ( chưa gọi nó ra) thì các methods, properties, events chưa load vào bộ nhớ nên
rất tiết kiệm resources. Khi nào ta gọi (Set obj.... = New clsTenclass) thì nó mới load object vào bộ nhớ và khi ta kill object (Set obj.... = Nothing) thì ta đã giải phóng object ra khỏi bộ nhớ.
Chi tiết bạn vào link này để xem:
Hướng Dẫn [Using Class Module] Các phương pháp bổ sung Component vào dự án của bạn
2. Nói về Modules: Đây chỉ là những thư viện dùng chung (nghĩa là các hàm, các biến ko liên quan đến đối tượng nào cụ thể cả). Khi chạy ứng dụng thì tất cả những gì viết trong đó sẽ được load vào bộ nhớ. Vì vậy, khi ra viết ứng dụng, ko nên cái gì cũng để chung vào Module cả đống mà nhiều khi chả dùng tý nào trong ứng dụng.
Bài viết được tham khảo trên trang GPE và chỉnh sửa, bổ sung bởi tôi.
Thân mến!