Crystal Reports Designer  

Select 運算式 (Crystal 語法)

Select 運算式和 If 運算式類似,但是,有時候,您可以使用 Select 運算式撰寫出更簡潔、更少重複的公式,以下範例驗算 {Customer.Fax} 欄位,決定其區碼是否屬於華盛頓州 (206、360、509) 或加拿大的英屬哥倫比亞 (604、250):

//Select example 1
Select {Customer.Fax}[1 To 3]
   Case "604", "250" :
      "BC"
   Case "206", "509", "360" :
      "WA"
   Default :
      "";

緊接在 Select 關鍵字之後的運算式稱為 Select 條件。在上面這個範例中,是 {Customer.Fax}[1 To 3]。Select 運算式嘗試尋找第一個符合 Select 條件的 Case,然後執行位於該 Case 後面冒號後的運算式。假如前面都不符合 Select 條件,就符合Default 條件。請注意,在Default 之後也有一個冒號。

//Same effect as Select example 1
Local StringVar areaCode := {Customer.Fax}[1 To 3];
If areaCode In ["604", "250"] Then
   "BC"
Else If areaCode In ["206", "509", "360"] Then
   "WA"
Else
   "";

範例

以下的公式將某電影所獲得的奧斯卡提名數分成低、中、高或極高等類別,並顯示在 Case 標記後可以放入的運算式清單。

//Select example 2
Select {movie.NOM}
   Case 1,2,3, Is < 1 :
   (
      //Can have expression lists by using
      //parentheses
      10 + 20;
      "low"
   )
   Case 4 To 6, 7, 8, 9 :
      "medium"
   Case 10 :
      "high"
   Default :
      "extreme"

Select 運算式中的 Default 子句是選擇性的,如果沒有 Default 子句,而且沒有任何一個條件符合,Select 運算式就會傳回該運算式型別的預設值。例如,假如以上範例中沒有 Default 子句,而且 {movie.NOM} = 11,便會傳回空白字串。Select 運算式也是一個運算式,因此也適用「其他有關 If 運算式的詳細資料」一節中的類似註解。

請參閱

If 運算式 | 控制結構 | For 迴圈