条件を評価し、条件が True のときは条件の直後に記述された処理を実行し、条件の評価を終了します。条件が False のときは次の条件に移って評価を行い、以下同様に続けます。条件がいずれも True でないときは、最後に指定された else_action のアクションを実行します。
@If( condition1 ; action1 ; condition2 ; action2 ; ... ; condition99 ; action99 ; else_action )
condition
論理値を返す表現式です。この表現式が True を返すときは、action が実行されます。この表現式が False を返すときは、次の condition があればその条件に移ります。次の条件がなければ else_action の処理が実行されます。
action
条件で True が返されたときに実行するアクションまたは返す値を指定します。
else_action
これまでの条件で True が返されなかったときに実行するアクションまたは返す値を指定します。
最も単純なフォームでは、If ステートメントは次のようになります。 @If( condition ; action ; else_action )
パラメータには、99 個までの条件とそれに対応するアクションを指定できます。すべての条件が False のときに実行するアクションを最後に 1 つ記述します。条件が True と評価されると、対応するアクションがすぐに実行され、@If ステートメントの残りのパラメータは無視されます。
条件は 1 つだけでアクションを指定せずに @If( condition )) を実行してもエラーにはなりませんが、条件が True でもアクションは一切実行されません。
フィールドと値を比較するとき (例えば、Year > 1995)、フィールドが利用不可の場合は、比較結果は False になります。ただし、フィールドが存在しているかどうかを @IsUnavailable でチェックしておく必要があります。
@If(CostOfGoods>=12.45;"Over Budget";"Bill of Materials OK")
@If(CostOfGoods>=12.45;"Over Budget";"")
@If(CostOfGoods>12.45;"Over Budget";CostOfGoods<12.45;
"Bill of Materials OK";"Estimate Right on Target")
@If(@IsNewDoc; NewNoteTitle; @ViewTitle =
"Author View"; ByAuthorTitle; StandardTitle)
@If((contactMe="Yes") & (@ThisValue = "");@Failure("You must enter a value in " + @ThisName);@Success)
フィールド名をハードコーディングする代わりに @ThisValue と @ThisName を使用すれば、このコードをコピーして、入力必須とする他のフィールド ([firstName] フィールドや [lastName] フィールドなど) に貼り付けることができます。
LotusScript® 言語の If...Then...Else ステートメント
LotusScript 言語の If...GoTo ステートメント
LotusScript 言語の If...Then...ElseIf ステートメント