Đánh giá chủ đề:
  • 0 Votes - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Biến Kiểu Object và Variant
#1
XIn chào các thành viên của diển đàn TTAC. Mình mới tìm hiểu về Access và VBA. Trong VBA mình thấy 2 kiểu biến rất linh hoạt là Object và Variant. Xin các thành viên chỉ giúp mình

- Điểm giống và khác nhau  giữa 2 loại biến trên.
- Khi nào thì nên dùng Object và khi nào thì dùng Variant.
Chữ ký của Che_Guevara Hạnh phúc không phải là cảm giác tới đích mà là trên từng chặng đường đi!
Reply
Những người đã cảm ơn
#2
1)   Variant
   Variant là kiểu dữ liệu không tường minh. Biến kiểu này có thể nhận bất kỳ một giá trị nào có thể.
Người ta thường khai báo biến kiểu Variant trong những trường hợp phải xử lý biến đó mềm dẻo. Khi thì biến nhận giá trị kiểu này, khi thì nhận giá trị và xử lý theo kiểu dữ liệu khác.
        2)  Object
    Object là một loại biến kiểu Variant, chiếm dung lượng nhớ 4 bytes, dùng để tham chiếu tới một loại đối tượng (Object) nào đó trong khi lập trình. Tất nhiên muốn khai báo biến Object kiểu nào, phải chắc chắn đối tượng đó đã được đăng ký vào thư viện tham chiếu VBA bởi tính năng Tool | Reference.
   Tí chút về nó.
Chữ ký của zinzin8x zinzin8x,gia nhập Thủ Thuật Access từ 19-01 -16.
Reply
Những người đã cảm ơn Che_Guevara , Noname
#3
Bổ sung thêm.
- 2 kiểu biến này hoàn toàn khác nhau, không có điểm giống 007
- Về chiếm dung lượng bộ nhớ, Object chiếm 4 bytes, Variant chiếm 16 bytes vì nó có thể nhận giá trị là chuỗi (string), số (interger, long, Double...).
- Object là biến đối tượng. Đúng như tên gọi của nó, nó có thể là: form, report, controls, application, activeX...(không bao giờ là String, Integer... như Variant
VD: 
Mã PHP:
Dim frmOrders As New Access.Form 

Mã PHP:
Dim appWord As Object
Set appWord 
CreateObject("Word.Application"

- Người ta thường dùng biến Variant khi không chắc chắn giá trị người dùng nhập vào là kiểu gì, thường là biến mảng.
Mã PHP:
Dim MyWeek As Variant
MyWeek 
= Array("Mon""Tue""Wed""Thu""Fri""Sat""Sun"

- Biến Variant rất linh hoạt nhưng đổi lại nó sẽ có ảnh hưởng đến tốc độ xử lý do nó phải xác định xem biến mới nhập vô thuộc dạng gì? số, chuỗi v.v.. (có thể ta không cảm nhận được do máy tính bây giờ cấu hình mạnh). Người ta cũng khuyên nên hạn chế dùng biến Variant nếu có thể, đổi sang khai báo biến tường minh. Đặc biệt khi viết Code bạn cũng sẽ gặp khó khăn khi không biết biến này thuộc kiểu gì (số hay chuỗi...) để viết công thức, tham chiếu v.vv cho phù hợp.
Chữ ký của ongke0711 If you BORN poor, it's not your mistake. But if you DIE poor, It's your mistake!
ღღღღღTài sản của ongke0711 (View All Items) ღღღღღ
Reply
Những người đã cảm ơn Che_Guevara


Chuyển nhanh:


User(s) browsing this thread: 1 Guest(s)
Diễn Đàn Thơ Văn Thi Ẩm Lâu|Nhà Hàng Sông Thơ