בחירה והחזרה של ערך מתוך רשימה של ארגומנטים.
תחביר
Choose( index , choice-1 [, choice-2] ... [, בחירה-n] )
תחביר הפונקציה Choose מכיל את הארגומנטים הבאים:
ארגומנט |
תיאור |
אינדקס |
נדרש. ביטוי מספרי או שדה שהתוצאה היא ערך בין 1 לבין מספר האפשרויות הזמינות. |
הבחירה |
נדרש. ביטוי משתנה המכיל אחת מהאפשרויות האפשריות. |
הערות
בחר מחזיר ערך מרשימת האפשרויות בהתבסס על ערך האינדקס. אם index הוא 1, הפונקציה Choose מחזירה את הבחירה הראשונה ברשימה; אם index הוא 2, הוא מחזיר את הבחירה השניה וכן הלאה.
באפשרותך להשתמש באפשרות בחר כדי לחפש ערך ברשימת אפשרויות. לדוגמה, אם האינדקס מוערך כ- 3 ו- choice-1 = "one", choice-2 = "two" ו- choice-3 = "three", בחר יחזיר "three". יכולת זו שימושית במיוחד אם האינדקס מייצג את הערך בקבוצת אפשרויות.
בחר מעריך את כל האפשרויות ברשימה, למרות שהיא מחזירה אפשרות אחת בלבד. מסיבה זו, אתה צריך לצפות תופעות לוואי לא רצויות. לדוגמה, אם אתה משתמש בפונקציה MsgBox כחלק מ- ביטוי בכל האפשרויות, תוצג תיבת הודעה עבור כל בחירה בעת הערכתה, למרות שהפונקציה Choose מחזירה את הערך של אחת מהן בלבד.
הפונקציה Choose מחזירה ערך Null אם האינדקס קטן מ- 1 או גדול ממספר האפשרויות המפורטות.
אם האינדקס אינו מספר שלם, הוא מעוגל למספר השלם הקרוב ביותר לפני הערכה.
דוגמאות שאילתה
Expression |
תוצאות |
SELECT Choose(3,"Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec") AS Expr1 FROM ProductSales; |
החזרת הערך השלישי מרשימת הערכים. תוצאה: "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", ולאחר מכן משמש כאינדקס כדי לבחור מתוך רשימת אפשרויות ב"בחר פונקציה"). |
דוגמה ל- VBA
הערה: הדוגמאות הבאות מדגימות את השימוש של פונקציה זו במודול Visual Basic for Applications (VBA). לקבלת מידע נוסף אודות עבודה עם VBA, בחר הפניית מפתח ברשימה הנפתחת שליד חיפוש והזן מונח אחד או יותר בתיבת החיפוש.
דוגמה זו משתמשת בפונקציה Choose כדי להציג שם בתגובה לאינדקס שהועבר לפרוצדורה שבפרמטר Ind הבא.
Function GetChoice(Ind As Integer)
GetChoice = Choose(Ind, "Speedy", "United", "Federal") End Function