式の一覧を評価し、一覧の中で真 (True) である最初の式に関連付けられた、バリアント型 (Variant) の値または式を返します。
構文
Switch(expr-1, value-1 [, expr-2, value-2 ] ...[, expr-n, value-n ] )
Switch 関数構文の引数は次のとおりです。
| 引数 | 説明 |
|---|---|
| expr | 必須。 評価対象のバリアント型 (Variant) の式を指定します。 |
| 値 | 必須。 指定した式が真 (True) のときに返す値または式を指定します。 |
解説
Switch 関数の引数リストは、式と値のペアで構成されます。 式は左から右に計算され、最初に真 (True) と評価される式と関連付けられている値が返されます。 パーツが正しくペアリングされていない場合は、実行時エラーが発生します。 たとえば、 expr-1 が True の場合、 Switch は 値 1 を返します。 expr-1 が False で、expr-2 が True の場合、Switch は値 2 を返します。
次の場合、Switch は Null 値を返します。
- すべての式が真 (True) ではない場合
- 最初の真 (True) の式に対応する値が Null の場合
Switch では、その 1 つだけの値を返しますが、すべての式が評価されます。 この理由から、予期しない結果が発生する場合があるので注意が必要です。 たとえば、任意の式の評価が 0 の除算になる場合、エラーが発生します。
クエリの例
| Expression | 結果 |
|---|---|
| SELECT ProductSales.ProductID, Switch([ProductID]="PRO_XYZ1","First",[ProductID]="PRO_XYZ2","Two",[ProductID]="PRO_XYZ1","Ten") AS testSwitch FROM ProductSales; | "ProductID" を返し、"Switch" 式で式を評価し、すべての "True" 式に対して定義された値を持つ既存の値を切り替えます。 たとえば、"PRO_XYZ1" は "First" に置き換えられ、"PRO_XYZ2" は "Two" に置き換えられます。 |
VBA の例
注
次の例は、Visual Basic for Applications (VBA) モジュールでのこの関数の使用方法を示しています。 VBA の使用方法の詳細については、[検索] の横にあるドロップダウン リストで [開発者用リファレンス] を選び、検索ボックスに検索する用語を入力します。
この例では、Switch 関数を使用して、都市の名前に一致する言語の名前を返します。
Function MatchUp (CityName As String)
Matchup = Switch(CityName = "London", "English", _
CityName = "Rome", "Italian", _
CityName = "Paris", "French")
End Function