Khi nào dùng Exit Sub, End Sub trong vba access

Trong VBA Access của Microsoft Access, Exit Sub và End Sub đều có chức năng kết thúc một thủ tục, nhưng chúng có sự khác biệt quan trọng về cách và mục đích sử dụng.

  1. Exit Sub
  2. End Sub
  3. So sánh sự khác biệt của Exit Sub và End Sub
  4. Khi nào sử dụng Exit Sub và End Sub

1. Exit Sub

    Chức năng: Dùng để thoát khỏi một thủ tục và ngừng thực thi các câu lệnh còn lại trong thủ tục đó.

    Khi nào dùng Exit Sub

        Khi bạn muốn kết thúc thủ tục sớm, vì một lý do nào đó (ví dụ: kiểm tra điều kiện và quyết định không tiếp tục thực thi các dòng mã còn lại trong thủ tục).
        Dùng trong các tình huống bạn muốn thoát ra khỏi thủ tục mà không cần phải chờ các câu lệnh khác trong thủ tục đó được thực thi.

    Ví dụ Exit Sub

     Dim tuoi As Integer
        tuoi = InputBox("Nhập tuổi:")

        ' Kiểm tra nếu tuổi không hợp lệ, thoát thủ tục
        If tuoi < 0 Or tuoi > 120 Then
            MsgBox "Tuổi không hợp lệ!"
            Exit Sub ' Thoát ngay lập tức nếu tuổi không hợp lệ
        End If

        MsgBox "Tuổi hợp lệ là: " & tuoi


    Trong ví dụ này, nếu người dùng nhập vào một tuổi không hợp lệ, Exit Sub sẽ thoát khỏi thủ tục ngay lập tức mà không thực hiện các câu lệnh phía sau.

2. End Sub

    Chức năng: Dùng để kết thúc thủ tục hoặc hàm trong VBA. Đây là từ khóa bắt buộc phải có để chỉ ra kết thúc của một thủ tục Sub.

    Khi nào dùng End Sub

        Bắt buộc khi bạn muốn kết thúc một thủ tục hoặc hàm trong VBA. Mỗi thủ tục Sub phải kết thúc bằng từ khóa End Sub.
        Dùng khi bạn muốn kết thúc thủ tục mà không cần thoát sớm (ví dụ: khi đã thực hiện xong toàn bộ logic trong thủ tục và không cần điều kiện thoát giữa chừng).

    Ví dụ End Sub

        Dim a As Integer
        Dim b As Integer
        a = 5
        b = 10

        MsgBox "Tích của " & a & " và " & b & " là: " & a * b


    Trong ví dụ này, End Sub là từ khóa cần thiết để kết thúc thủ tục TinhTich. Không có điều kiện hoặc lý do thoát sớm, vì vậy chỉ cần dùng End Sub để hoàn tất thủ tục.

3. So sánh sự khác biệt của Exit Sub và End Sub

    Exit Sub:
        Dùng khi bạn muốn kết thúc thủ tục sớm và thoát ra khỏi thủ tục mà không cần thực thi các câu lệnh còn lại trong thủ tục.
        Thường được sử dụng kết hợp với các điều kiện để kiểm tra và ngừng thực thi thủ tục khi cần.
    End Sub:
        Dùng để chỉ ra điểm kết thúc của thủ tục. Đây là từ khóa bắt buộc, không thể thiếu trong mỗi thủ tục Sub.
        Dùng khi thủ tục đã thực thi hết tất cả các câu lệnh hoặc không có điều kiện thoát sớm.

4. Khi nào sử dụng Exit Sub và End Sub

    Sử dụng Exit Sub: Khi bạn cần kết thúc thủ tục trước khi thực thi hết mã còn lại, ví dụ như khi có điều kiện không hợp lệ hoặc khi cần thoát khỏi thủ tục vì lý do nào đó.
    Sử dụng End Sub: Để đánh dấu kết thúc của thủ tục Sub. Đây là điều kiện cần thiết để mã chạy đúng.

Ví dụ kết hợp cả Exit Sub và End Sub:

    Dim so As Integer
    so = InputBox("Nhập một số:")

    If so < 0 Then
        MsgBox "Số không hợp lệ!"
        Exit Sub ' Thoát thủ tục nếu số nhỏ hơn 0
    End If

    MsgBox "Số hợp lệ là: " & so


Ở đây:

    Exit Sub được dùng để thoát thủ tục sớm nếu số nhập vào không hợp lệ.
    End Sub là từ khóa bắt buộc để kết thúc thủ tục.

Tìm kiếm:

Bài viết liên quan:

Trong VBA Access của Microsoft Access, Exit Sub và End Sub đều có chức năng kết thúc một thủ tục, nhưng chúng có sự khác biệt quan trọng về cách và mục đích sử dụng.