Choose 関数

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

引数のリストから値を返します。

構文

Choose(index, choice-1 [, choice-2] ... [, choice-n])

Choose 関数には、次の引数があります。

引数 説明
index 必ず指定します。 1 から使用可能な選択肢の数の間の値になる数値式またはフィールド。
choice 必ず指定します。 可能な選択肢の 1 つを含むバリアント式。

解説

Choose index の値に基づいて選択肢のリストから値を返します。 index が 1 の場合、Choose はリストの最初の選択肢を返します。 indexが 2 の場合は 2 番目の選択肢を返し、以下同様に返されます。

Choose を使用して、候補リスト内の値を検索できます。 たとえば、 index が 3 で choice-1 = "one"、 choice-2 = "two"、 choice-3 = "three" の場合、 Choose は "three" を返します。 この動作は、 index がオプション グループ内の値を表す場合に便利です。

Choose 1 つだけを返しますが、リスト内のすべての選択肢を評価します。 この動作のため、不要な副作用に注意してください。 たとえば、すべての選択肢の式の一部として MsgBox 関数を使用すると、Access では選択肢 1 つの値しか返されない場合でも、選択肢が評価されるたびにメッセージ ボックス Choose 表示されます。

Choose 関数は、indexが 1 未満または一覧表示されている選択肢の数より大きい場合に Null を返します。

indexが整数でない場合は、評価する前に最も近い整数に丸められます。

クエリの例

Expression 結果
SELECT Choose(3,"Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec") AS Expr1 FROM ProductSales; 値のリストから 3 番目の値を返します。 結果: "Mar"。
SELECT DateofSale, Choose(Month(DateofSale),"Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec") AS MonthName FROM ProductSales; DateofSale 列の値と対応する月の名前を MonthName 列に返します。 Month(DateofSale) DateofSale の月番号を返し、Choose はその番号を選択肢の一覧のインデックスとして使用します。

VBA の例

注

次の例は、Visual Basic for Applications (VBA) モジュールでこの関数を使用する方法を示しています。 VBA の操作の詳細については、[検索] の横にあるドロップダウン リストで [開発者向けリファレンス] を選択し、検索ボックスに 1 つ以上の用語を入力します。

この例では、 Choose 関数を使用して、プロシージャが Ind パラメーターで渡すインデックスの名前を表示します。

Function GetChoice(Ind As Integer)
    GetChoice = Choose(Ind, "Speedy", "United", "Federal")
End Function