Khai báo biến và cấp độ biến trong VBA Access cần biết để làm phần mềm Access tốt hơn.

1. Cách khai báo biến phù hợp

Để khai báo biến phù hợp thì chúng ta cần biết mức độ lưu trữ của biến đó như thế nào.

Ta tìm từ "Data type summary vba" vào google.

Ví dụ làm phần mềm quản lý nhân viên, các cột sau đây lưu kiều nào là hợp lý:


- Biến năm sinh ?
- Số năm làm việc ?
- Tiền lương ?
- HSL ?
- Có gia đình  (có/không) ?
- Ngày sinh ?



2. Cấp độ biến khi khai báo trong VBA Access

 a. Cấp độ phạm vi của biến
* Có nhiều cấp độ khai báo biến trong VBA theo danh sách dưới:
Dim keyword
Static keyword
Global keyword
Public keyword
Private keyword


* Nhưng trong VBA chỉ cần nắm rõ 2 cấp độ biến nthì bạn đã xử lý hiệu quả phần mềm Access.

- Cấp độ biến cá nhân  (private)
- Cấp độ biến Công cộng (public)


Ngôn ngữ VBA là ngôn ngữ lập trình thu nhỏ của ngôn ngữ Visua Basic, nên cáhc viết đơn giản hơn nhiều so với Visua Basic, bởi vậy bạn cần phân biệt 2 cấp độ biến VBA sau sẽ giải quyết được mọi vấn đề trong VBA Access.

Mình lấy ví dụ
Trong đầu của tôi có 3 biến :

  - Họ tên của tôi: thì biến này là biến công cộng, tôi có thể chia sẽ cho bất kỳ ai.
  - Năm sinh của tôi: thì biến này là biến công cộng, tôi có thể chia sẽ cho bất kỳ ai.
  - Mật khẩu tài khoản ngân hàng, thì biến này là biến cá nhân, tôi sẽ không chia sẽ hay cho bất kỳ ai biết

Ví dụ thực tế trong  VBA Access:
tạo Module1

Option Compare Database

Dim HoTen As String
Dim MKNganHang As String
Dim NamSinh As Integer


Public Sub NapGiaTri()
    HoTen = "Nhat"
    MKNganHang = "9999"
    NamSinh = 1982
End Sub



Tạo thêm Module 2
Public Sub LayThongTin()
    Module1.xx  , sau khi gõ dấu . thì các biến HoTen,
MKNganHang , NamSinh không xuất hiện ra
   ' Ta sẽ không truy cập được vì nó đều là biến cá nhân

End Sub


Quay lại Mudule1 sửa
Dim HoTen As String  thành Public HoTen As String
Dim NamSinh As String  thành Public NamSinh  As String
Thì bây giờ

Module1.xx  gõ dấu . sẽ đổ ra HoTen và NamSinh
* Như vậy sau khi thay thế Dim thành Public ở biến HoTen và NamSinh thì 2 biến này đã trở thành biến công cộng, có nghĩa bất kỳ Module nào cũng truy cập được.

  * Cấp độ biến trong Module hay trong Form đều giống nhau, nên việc ứng dụng cũng giống nhau.

 * Cần phân biệt cấp độ biến trong hàm con (thủ tục con) và bán trong module.

  b. Cấp độ phạm vi của thủ tục và hàm
   Cùng giống như cấp độ biến nhưng
   - Để các đối tượng bên ngoài không truy cập hàm được thì thêm Private trước tên hàm.

   c. Biến trong 1 module khác gì với biến trong 1 thủ tục hàm con

Mình tạo 1 module 3:

Public Function tongluong(luongcb)
    Dim hsl As Double

    hsl = 2.34
    tongluong = hsl * luongcb
End Function
* biến shl để bên ngoài có được không ?

 

Cảm ơn đã xem, đã có 242 lượt xem.
Thông báo:

 

Học lập trình vba access

Học lập trình VBA access khác
Tag tìm kiếm:

bai 14: khai bao bien va cap do bien trong vba access

Thông tin liên hệ

Zalo 0935 999617

Zalo 0972 13 14 19