Selects and returns a value from a list of arguments.
Syntax
Choose( index , choice-1 [, choice-2] ... [, choice-n] )
The Choose function syntax has these arguments:
Argument |
Description |
index |
Required. Numeric expression or field that results in a value between 1 and the number of available choices. |
choice |
Required. Variant expression containing one of the possible choices. |
Remarks
Choose returns a value from the list of choices based on the value of index. If index is 1, Choose returns the first choice in the list; if index is 2, it returns the second choice, and so on.
You can use Choose to look up a value in a list of possibilities. For example, if index evaluates to 3 and choice-1 = "one", choice-2 = "two", and choice-3 = "three", Choose returns "three". This capability is particularly useful if index represents the value in an option group.
Choose evaluates every choice in the list, even though it returns only one. For this reason, you should watch for undesirable side effects. For example, if you use the MsgBox function as part of an expression in all the choices, a message box will be displayed for each choice as it is evaluated, even though Choose returns the value of only one of them.
The Choose function returns a Null if index is less than 1 or greater than the number of choices listed.
If index is not a whole number, it is rounded to the nearest whole number before being evaluated.
Query examples
Expression |
Results |
SELECT Choose(3,"Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec") AS Expr1 FROM ProductSales; |
Returns the 3rd value from the list of values. Result: "Mar". |
SELECT DateofSale, Choose(Month(DateofSale),"Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec") AS MonthName FROM ProductSales; |
Returns the values in "DateofSale" and respective month name in the column "MonthName". (Month(DateofSale) returns the month number of the "DateofSale", which is then used as index to choose from list of choices in the "Choose function"). |
VBA example
Note: Examples that follow demonstrate the use of this function in a Visual Basic for Applications (VBA) module. For more information about working with VBA, select Developer Reference in the drop-down list next to Search and enter one or more terms in the search box.
This example uses the Choose function to display a name in response to an index passed into the procedure in the Ind parameter.
Function GetChoice(Ind As Integer)
GetChoice = Choose(Ind, "Speedy", "United", "Federal") End Function