In-line If (IIF) 関数の使用 |
1 つまたは複数の関数に条件付き実行を追加する従来の方法は、if や else ステートメントを使用する方法です。 比較的簡単な代替的方法が、In-line If 関数 (省略形 IIF) です。 IIF 関数は、if や else ステートメントで使用できる機能の多くを提供しながら、複数行の Visual Basic を使用する必要はありません。 実際、これは単一行表現に条件付き実行を追加するただ 1 つの方法です。 また、個別の if や else ステートメントが使える場合でも、使い勝手が良いため、複数行スクリプトが可能な場合には多くのユーザーがこれを使います。
IIF 関数の構文は次のとおりです。
IIF(<ConditionalExpression>,<ExpressionIfTrue>,<ExpressionIfFalse>)
|
IIF 関数は、複数のコンピュータ言語で使用できますが、Visual Basic 固有の関数ではありません。 |
IIF 関数には 3 つの表現が含まれています。
条件式
条件式が True の場合に実行される表現
条件式が False の場合に実行される表現
IIF 関数が実行されるたびに、この 2 つの表現 ("ExpressionIfTrue" または "ExpressionIfFalse") の 1 つだけが実行されます。 追加の (入れ子) IIF 関数も含め、これらの表現は、有効な単一行表現となります。
IIF 関数はまず条件式を調べ (関数の最初の項)、それが True か False か見ます。 条件式の例には次のようなものがあります。
Quantity > 100. この条件式の場合、Quantity という名前の変数が 100 より大きければ True です。
(Field("PartType") = "Breakable") AND (Field("Price") > 1000). この条件式は、読み取る先のデータベース内の "PartType" という名前のフィールドを調べ、同じ部分の "Price" フィールドを探します。 この場合、現在のデータベースレコードの PartType フィールドがテキスト "Breakable" で、その部分の価格が 1000 を超えている場合は True です。
関連トピック