Xem mẫu

  1. 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
  2. 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
  3. 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.
  4. 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 Private Public hưởng Cấp thủ tục Các biến có tính Không thể khai chất cục bộ ngay báo biến toàn cục trong thủ tục khai trong thủ tục. báo biến Cấp bộ mã Các biến có tính Các biến có thể sử lệnh chất cục bộ ngay dụng cho tất cả
  5. trong bộ mã lệnh các bộ mã lệnh khai báo biến. 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
  6. 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 để
  7. 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.
  8. 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.
  9. 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ộ ‘Gán giá trị vào biến Text1 =”Variable” ‘Gán giá trị vào điều Me.Text1 = “Control” khiển
  10. ‘Dòng lệnh bị sai vì Text1.Top =0 Text1 là biến ‘gán giá trị vào thuộc tính Me.text1.top =0 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.
  11. 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.
nguon tai.lieu . vn