If...Then...Else Statement /text/sbasic/shared/03090101.xhp
If statement ElseIf; If statement Else If;If statement Else;If statement Else;If statement End If;If statement EndIf;If statement

If...Then...Else Statement

Defines one or more statement blocks that you only want to execute if a given condition or expression is True.
If...EndIf statement ElseIf fragment Else fragment If condition Then statements [{ElseIf|Else If} expression Then statements] [Else statements] {EndIf|End If} Instead of Else If you can write ElseIf, instead of End If you can write EndIf. If statements can be shortened to one line when using single statement blocks. If condition Then statement [Else statement] The If...Then statement executes program blocks depending on given conditions. When %PRODUCTNAME Basic encounters an If statement, the condition is tested. If the condition is True, all subsequent statements up to the next Else or ElseIf statement are executed. If the condition is False, and an ElseIf statement follows, %PRODUCTNAME Basic tests the next expression and executes the following statements if the condition is True. If False, the program continues either with the next ElseIf or Else statement. Statements following Else are executed only if none of the previously tested conditions were True. After all conditions are evaluated, and the corresponding statements executed, the program continues with the statement following EndIf. You can nest multiple If...Then statements. Else and ElseIf statements are optional. You can use GoTo and GoSub to jump out of an If...Then block, but not to jump into an If...Then structure. The following example enables you to enter the expiration date of a product, and determines if the expiration date has passed. Sub ExampleIfThenDate Dim sDate As String Dim sToday As String sDate = InputBox("Enter the expiration date (MM.DD.YYYY)") sDate = Right$(sDate, 4) + Mid$(sDate, 4, 2) + Left$(sDate, 2) sToday = Date$ sToday = Right$(sToday, 4)+ Mid$(sToday, 4, 2) + Left$(sToday, 2) If sDate < sToday Then MsgBox "The expiration date has passed" ElseIf sDate > sToday Then MsgBox "The expiration date has not yet passed" Else MsgBox "The expiration date is today" End If End Sub
Select Case statement Iif or Switch functions