Lập trình trên Access
4.4.3 Khai báo biến
Nếu đoạn mã trên vùng đầu của module, ta sử dụng tùy chọn Option Explicit thì các biến phải được khai báo tường minh, nghĩa là biến có kiểu xác định. Ngược lại, nếu không có tùy chọn trên, các biến không khai báo sẽ ngầm định có kiểu là Variant.
Khai báo biến bằng lệnh Dim: Dạng lệnh như sau:
Dim <tên biến>[As<kiểu>][,<tên biến>[As<kiểu>]..] Ví dụ: Dim a As Integer, s As string
9 Biến tĩnh: ta thay từ khóa Dim bằng từ khóa Static.
9 Biến toàn cục: ta thay từ khóa Dim bằng từ khóa Public.
9 Biến địa phương: ta thay từ khóa Dim bằng từ khóa Private.
4.4.4 Mảng
Cách khai báo
9 Trong hàm/thủ tục
Dim/ReDim/Static <Tên_mảng>(Chỉ số 1, chỉ số 2,..., chỉ số n) [As <Kiểu>]
9 Trong phần khai báo của đơn thể Form/Report
Dim/Private <Tên_mảng>(Chỉ số 1, chỉ số 2,..., chỉ số n) [As <Kiểu>]
9 Trong phần khai báo của đơn thể dùng chung
Dim/Private/Public <Tên_mảng>(Chỉ số 1, chỉ số 2,..., chỉ số n) [As <Kiểu>]
Hai cách xác định miền giá trị của chỉ số
Cách 1: Dùng câu lệnh Option base 0/1 viết trong phần khai báo. Theo cách này, ta quy định chỉ số cận dưới là 0 hoặc 1. Ví dụ: Option base 0 Dim a(5) ‘ Chỉ số từ 0 đến 5 Option base 1 Dim b(6) As Integer‘ Chỉ số từ 1 đến 6 Cách 2: Dùng cách viết Cận_dưới to Cận_trên Ví dụ: Option base 1 Dim a(4,-2 to 5,6)
sẽ khai báo một mảng 3 chiều kiểu Variant, trong đó:
9 Chỉ số thứ nhất chạy từ 1 đến 4
Bài giảng Lập trình trong Access
9 Chỉ số thứ ba chạy từ 1 đến 6
Chú ý: Các cận đều phải là hằng số nguyên và có thể nhận giá trị âm. Miền giá trị của chỉ số mảng nằm trong khoảng –32768 đến 32767.
Phạm vi sử dụng của mảng
9 Cấp thủ tục:Khai báo trong thủ tục
9 Cấp đơn thể: Khai báo trong phần khai báo của đơn thể, dùng từ khóa Private
hoặc Dim.
9 Cấp chương trình: Khai báo trong phần khai báo của đơn thể sử dụng chung, dùng từ khóa Public.
Mảng động
Ta khai báo như sau:
Dim/Private/Public <Tên_mảng> [As <Kiểu>]
Khi nào dùng mảng động, ta dùng ReDim để xác định chính xác chiều và kích thước mỗi chiều. Kích thước mỗi chiều có thể cho bởi các biến hoặc biểu thức. Ví dụ: Redim a(1 to n,m)
Đối là mảng:
Đối mảng được khai báo theo cách mảng động, ví dụ:
Sub Nhap(a()as Double, n as Integer)
Function max(a()as Double, n as Integer) As Double
Trong lời gọi: dùng tên mảng, ví dụ:
Dim a(10) as Double, n as Integer, gt as Double Nhap a,n ‘Gọi thủ tục
gt = max(a,n) ‘ Gọi hàm