If...Then...Else Statement

Lause mÀÀrittelee yhden tai useamman lauselohkon, jotka on tarkoitus suorittaa vain, jos annettu ehto tÀyttyy.

Syntaksi:

If ehto_1=true Then lauselohko_1 [ElseIf ehto_m=true Then] lauselohko_m [Else] lauselohko_n EndIf

Else If voidaan kirjoittaa ElseIf ja End If voidaan kirjoittaa EndIf.

Parametrit:

If...Then -lause suorittaa ohjelmalohkoja annettujen ehtojen mukaisesti. Kun LibreOffice Basic tulkitsee If lauseen, ehto_1 testataan. Jos ehto_1:n totuusarvo on True (tosi), kaikki seuraavat lauseet suoritetaan seuraavaan Else- tai ElseIf-lauseeseen asti. Jos ehto_1:n arvo on False (epÀtosi) ja ElseIf-lause seuraa, LibreOffice Basic testaa seuraavan ehdon ja suorittaa seuraavat lauseet, jos ehto on arvoltaan True. Jos arvo on False, ohjelma jatkaa seuraavasta ElseIf- tai Else-lauseesta. Else-osan lauseet suoritetaan vain, jos mikÀÀn edellisistÀ testeistÀ ei ole tuottanut arvoa True. Kun kaikki ehdot on arvioitu ja niitÀ vastaavat rivit suoritettu, ohjelma jatkuu EndIf-rivin jÀlkeisestÀ lauseesta.

Useita If...Then -lauseita voi asettaa sisÀkkÀin.

Else- ja ElseIf-lauseet ovat valinnaisia.

Varoitus-kuvake

GoTo- tai GoSub-kÀskyÀ voi kÀyttÀÀ If...Then-lohkosta poistumiseen, muttei If...Then-rakenteeseen sisÀÀn siirtymiseen.


Seuraavassa esimerkissÀ on mahdollista syöttÀÀ tuotteen vanhentumispÀivÀ ja mÀÀrittÀÀ, onko vanhentumispÀivÀ jo ohitettu.

Esimerkki:

Sub ExampleIfThenDate

Dim sDate As String

Dim sToday As String

    sDate = InputBox("Anna vanhentumispÀivÀ (PP.KK.VVVV)")

    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 "VanhentumispÀivÀ on ohitettu"

    ElseIf sDate > sToday Then

        MsgBox "VanhentumispÀivÀ ei ole vielÀ mennyt"

    Else

        MsgBox "VanhentumispÀivÀ on tÀnÀÀn"

    End If

End Sub