引数のリストから値を選択して返します。
構文
Choose(index , choice-1 [, choice-2] ...[, choice-n] )
Choose 関数構文の引数は次のとおりです。
| 引数 | 説明 |
|---|---|
| index | 必須。 1 から利用可能な数までの範囲内の値を返す数式またはフィールドを指定します。 |
| choice | 必須。 可能性のある選択肢のいずれかを格納するバリアント型 (Variant) の式を指定します。 |
解説
[選択] は、インデックスの値に基づいて選択肢の一覧から値を返 します。 index が 1 の場合、Choose はリストの最初の選択肢を返します。index が 2 の場合、2 番目の選択肢が返されます。
Choose 関数を使用して、可能性のあるリストの値を参照できます。 たとえば、 インデックス が 3 に評価され 、choice-1 = "one"、 choice-2 = "two"、 choice-3 = "three" と評価された場合、 Choose は "3" を返します。 この機能は、 index がオプション グループ内の値を表す場合に特に便利です。
1 つの値しか返さない場合でも、Choose はリスト内のすべての選択肢を評価します。 この理由から、予期しない結果が発生する場合があるので注意が必要です。 たとえば、すべての選択肢で式の一部として MsgBox 関数を使用する場合、 Choose はそのうちの 1 つの値のみを返しますが、評価される各選択肢に対してメッセージ ボックスが表示されます。
インデックスが 1 より小さい場合、または一覧表示されている選択肢の数より大きい場合、Choose 関数は Null を返します。
インデックスが整数でない場合、評価される前に最も近い整数に丸められます。
クエリの例
| Expression | 結果 |
|---|---|
| SELECT Choose(3,"Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Nov","Dec") AS Expr1 FROM ProductSales; | 値の一覧から 3 番目の値を返します。 結果: "Mar" |
| SELECT DateofSale, Select(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 の使用方法の詳細については、[検索] の横にあるドロップダウン リストで [開発者用リファレンス] を選び、検索ボックスに検索する用語を入力します。
この例では 、Choose 関数を使用して、 Ind パラメーターのプロシージャに渡されたインデックスに応答して名前を表示します。
Function GetChoice(Ind As Integer)
GetChoice = Choose(Ind, "Speedy", "United", "Federal")
End Function