Trong Private Sub CmdEnter_Click() ở trên ta thấy có hai chỗ dùng
cho đến hàng END IF. Ngược lại, nếu điều kiện không đúng thì execution nhảy xuống tới dòng code nằm ngay dưới dòng END IF. Tức là có khi execution sẽ đi ngang qua, có khi không đi ngang qua những dòng code ở giữa câu IF...THEN và câu END IF. Điều kiện trong IF Statement là phần nằm giữa hai chữ IF và
THEN. Nó đuợc gọi là Logical Expression. Ta có:
txtName.text = "" ' content of Textbox txtName is nothing, i.e. an empty string
và
NOT IsNumeric(txtAge.text) ' content of TextBox txtAge is not a number
Trong Logical Expression thứ nhì ta dùng Function IsNumeric để được cho biết rằng txtAge.text có phải là một con số hay không. Vì ta chỉ than phiền khi txtAge không phải là một con số nên ta phải để thêm chữ NOT phía truớc. Tức là khi IsNumeric(txtAge.text) = False
thì
NOT IsNumeric(txtAge.text) = True
Nếu giữa IF...THEN và END IF chỉ có một dòng code bạn có thể nhập dòng code lên với IF...THEN và không dùng END IF. Tức là:
If theColorYouLike = vbRed Then
MsgBox "You 're a lucky person!"
End If
is equivalent with
If theColorYouLike = vbRed Then MsgBox "You 're a lucky person!"
Một Logical Expression có thể đơn giản (simple) như trong các thí dụ trên hay rắc rối hơn nếu ta ráp nhiều simple Logical Expression lại với nhau bằng cách dùng những từ OR và AND. Khi hai Logical Expression được ráp lại bằng chữ OR
(HAY) thì chỉ cần ít nhất một trong hai Expression là TRUE là Logical Expression
tổng hợp cũng là TRUE. Cái TRUE Table cho OR như sau: