Switch 関数

適用先
Access for Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

式の一覧を評価し、一覧の中で真 (True) である最初の式に関連付けられた、バリアント型 (Variant) の値または式を返します。

構文

Switch(expr-1, value-1 [, expr-2, value-2 ] ...[, expr-n, value-n ] )

Switch 関数構文の引数は次のとおりです。

引数 説明
expr 必須。 評価対象のバリアント型 (Variant) の式を指定します。
必須。 指定した式が真 (True) のときに返す値または式を指定します。

解説

Switch 関数の引数リストは、式と値のペアで構成されます。 式は左から右に計算され、最初に真 (True) と評価される式と関連付けられている値が返されます。 パーツが正しくペアリングされていない場合は、実行時エラーが発生します。 たとえば、 expr-1True の場合、 Switch値 1 を返します。 expr-1False で、expr-2True の場合、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