Tải bản đầy đủ (.pdf) (11 trang)

LÀM VIỆC VỚI CÁC BIẾN, KIỂU DỮ LIỆU VÀ HẰNG SỐ ppt

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (134.82 KB, 11 trang )

I. LÀM VIỆC VỚI CÁC BIẾN, KIỂU DỮ LIỆU
VÀ HẰNG SỐ
1) Khai báo biến
Cú pháp :
Dim tenbien [As kiểu dữ liệu]
Ví dụ
Dim strName as string
Dim Intl as Integer
2) Khai báo biến tường minh và không tường
minh
Khi sử dụng một biến mà không cần khai báo
trước thì đôi khi dẫn đến trường hợp là chúng ta
dễ tham chiếu đến một tên biến sai. Với cách lập
trình này thì chúng ta cảm thấy thuận tiện. Tuy
nhiên chúng ta nên khai báo tường minh vì điều
này giúp chúng ta tránh được việc sử dụng sai
tên biến bởi vì khi biên dịch Access sẽ phát hiện
và thong báo lỗi ngay để chúng ta sửa đổi.
Để có thể chuyển qua lại hai chế độ này chúng ta
sẽ giữ lại hay bỏ đi câu lệnh : Option Explicit
trong phần khai báo của các đoạn lệnh trong cửa
sổ bộ mã lệnh (Module)
Ví dụ :
Sử dụng chế dộ khai báo biến không tường
minh
Function CanBac2(Byval dblNum As Double)
as double
Dbltemp =abs(dblNum)
Canbac2 = Sqr(dbltmp) ‘ dbltemp bị viết sai
thành dbltmp
End Function


Khi gọi thực hiện hàm này thì VB không thong
báo lỗi gì cả, nhưng kết quả sẽ luôn luôn là 0 vì
VB hiểu rằng dblTmp là một biến mới.
Sử dụng chế dộ khai báo biến tường minh
Function CanBac2(Byval dblNum As Double)
as double
Dim dblTemp As Double
Dbltemp =abs(dblNum)
Canbac2 = Sqr(dbltmp) ‘ dbltemp bị viết sai
thành dbltmp
End Function
Khi gọi thực hiện hàm này thì VB sẽ thông báo lỗi
biến dbltmp chưa được định nghĩa, chính nhờ thông
báo này chúng ta sẽ phát hiện ra rằng chúng ta đã
tham chiếu đến tên biến sai. Sau đó quay lại sửa lại
tên biến thành dblTemp và biên dịch và chạy lại thì
kết quả sẽ luôn luôn đúng.
3) Tầm ảnh hưởng của biến
Khi khai báo một biến trong thủ tục thì chỉ có
các câu lệnh bên trong thủ tục đó mới có thể đọc
hay thay đổi giá trị của biến đó : tầm ảnh hưởng
của biến chỉ có tính cục bộ trong thủ tục. Tầm
ảnh hưởng của một biến phụ thuộc vào vị trí khai
báo biến. Có hai cấp : thủ tục hay bô mã lệnh.
Chúng ta có thể kết hợp các từ khoá Public hay
Private để tạo ra tầm ảnh hưởng của biến.
Tầm ảnh
hưởng
Private Public
Cấp thủ tục Các biến có tính

chất cục bộ ngay
trong thủ tục khai
báo biến
Không thể khai
báo biến toàn cục
trong thủ tục.
Cấp bộ mã
lệnh
Các biến có tính
chất cục bộ ngay
Các biến có thể sử
dụng cho tất cả
trong bộ mã lệnh
khai báo biến.
các bộ mã lệnh
chuẩn trong ứng
dụng.

4) Các biến sử dụng trong thủ tục
Các biến cấp thủ tục chỉ được nhận ra ở tại thủ
tục mà chúng được khai báo và được xem như
biến cục bộ.
Ví dụ khai báo :
Dim inttemp as Integer ‘Khai báo này biến
chỉ tồn tại khi thủ tục đang thực hiện
Static inttemp as Integer ‘Biến tồn tại trong
toàn bộ thời gian ứng dụng đang thực
hiện

5) Các biến sử dụng trong bộ mã lệnh

Mặc định một cấp bộ mã lệnh thì cho phép tất cả
các thủ tục trong bộ mã lệnh đó sử dụng được,
nhưng không thể cho các bộ mã lệnh khác.
Chúng ta có thể tạo các biến cấp thủ tục trong
biểu mẫu, báo cáo hay các bộ mã lệnh chuẩn
bằng cách khai báo chúng với từ khóa Dim hay
Private bên trong phần khai báo ở tại vị trí đầu
tiên trong cửa sổ bộ mã lệnh.
Ví dụ :
Option Compare Database
Option Explicit
Dim Inttemp As Integer hay
Private IntTemp As Integer.
6) Các biến sử dụng chung cho tất cả các bộ mã
lệnh
Để tạo ra các biến dung chung cho tất cả các bộ
mã lệnh chúng ta phải dung từ khóa Public để
khai báo biến. Giá trị của các biến toàn cục này
sẽ cho phép tất cả các thủ tục của toàn bộ các bộ
mã lệnh trong ứng dụng đều sử dụng được.
Giống như các biến cấp bộ mã lệnh các biến toàn
cục phải được đặt trong phần khai báo ở tại vị trí
đầu tiên trong cửa sổ bộ mã lệnh.
Ví dụ :
Public IntX as Integer
7) Phạm vi và tên các biến
Một biến không thể thay đổi phạm vi trong khi
các đoạn lệnh đang chạy. Tuy nhiên chúng ta vẫn
có thể sử dụng tên giống nhau cho những biến
trong các phạm vi khác nhau trong một số điều

kiện nhất định.
Các biến cục bộ và toàn cục:
Nếu các biến toàn cục giữa các bộ mã lệnh trùng
tên với nhau thì lẫn có thể phân biệt được khi gọi
sử dụng chúng.
Thí dụ : néu có một biến toàn cục tên intX được
khai báo trong cả hai bộ mã lệnh chuẩn tên là
module1 và module2 thì cần tham chiếu đến các
biến này chúng ta sẽ sử dụng cú pháp :
Tên Module.Tên biến.
Do đó khi cần tham chiếu đến biến intX của
module1 thì chúng ta sử dụng module1.intX
Trường hợp khi một biến toàn cục trùng tên với
một biến cục bộ trong một thủ tục thì chúng ta
vẫn có thể truy cập đến các biến này.
Cú pháp khai báo : Forms!tênForm.tên biến
Sử dụng biến và thuộc tính cùng tên
Qui tắc che tên biến ở trên cũng được áp dụng
cho các thuộc tính và các điều khiển của biểu mẫu
hay báo cáo. Tuy nhiên không thể trên cùng một biểu
mẫu hay báo cáo chúng ta có cùng tên thuộc tính,
điều khiển bởi vì chúng nằm trong cùng một phạm vi.
Bên trong bộ mã lệnh của biểu mẫu hay bộ mả
lệnh của báo cáo, nếu có các biến trùng tên với các
điều khiển hay các thuộc tính trên biểu mẫu hay báo
cáo thì các điều khiển, thuộc tính sẽ bị che đi nếu
muốn sử dụng đến các điều khiển này thì chúng ta
phải chỉ ra một cách tường minh hay dung từ khóa
Me để chỉ định đến biểu mẫu hay báo cáo hiện thời
chứa các đoạn lệnh đang thi hành.

Ví dụ : giả sử có một điều khiền tên Text1 trên biểu
mẫu có tên Form1. Để truy cập đến text1 khi có một
biến cục bộ cũng tên Text1 chúnh ta sẽ sử dụng từ
khoá Me như sau
Private Sub Form_Click()
Dim Text1, Caption ‘Khai báo biến 2 cục bộ
Text1 =”Variable” ‘Gán giá trị vào biến
Me.Text1 = “Control” ‘Gán giá trị vào điều
khiển
Text1.Top =0 ‘Dòng lệnh bị sai vì
Text1 là biến
Me.text1.top =0 ‘gán giá trị vào thuộc tính
của điều khiển
Caption = “Variable” ‘Gán giá trị vào biến
Me.caption =”Form” Gán giá trị vào thuộc tính
của biểu mẫu
End Sub
Sử dụng biến và thủ tục trùng tên
Chúng ta cũng có thể thấy được sự xung đột giữa
các biến cấp bộ mã lệnh và tên các thủ tục. Một biến
trong bộmã lệnh không được phép trùng tên với bất
kỳ một thủ tục nào bên trong bộ mã lệnh. Tuy nhiên
một biến cũng được phép trùng tên với các thủ tục
toàn cục trong các bộ mã lệnh khác. Trong trường
hợp này khi mà truy cập đến các biến từ bộ mã lệnh
khác cũng chỉ rõ tên của bộ mã lệnh.
Trong khi các qui luật che này không phức tạp,
nhưng nó có thể làm cho chúng ta rối trong các đoạn
lệnh rong ứng dụng. Để tránh điều này, chúng ta nên
đặt tên của các biến riêng biệt khác nhau. Thí dụ,

trong một bộ mã lệnh của biểu mẫu hay bộ mã lệnh
của báo cáo chúng ta nên đặt tên của các biến duy
nhất khác với tên của các điều khiển hay thuộc tính
trên biểu mẫu hay báo cáo đó. điều này cũng áp dụng
cả cho các tên của thủ tục.

×