您的位置:首页 > 其它

水晶报表-控制结构-Select 表达式(Crystal 语法)

2011-04-14 16:34 211 查看
Select 表达式与 If 表达式相似。然而,有时可以使用 Select 表达式编写更清楚且重复少的公式。下例对 {客户.传真} 字段求值,以确定区号是美国华盛顿州的区号 (206, 360, 509) 还是加拿大不列颠哥伦比亚省的区号 (604, 250):

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


紧跟在 Select 关键字之后的表达式称为 Select 条件。在上例中,Select 条件是 {客户.传真}[1 To 3]。Select 表达式试图找出与 Select 条件匹配的第一个 Case,然后为该 Case 执行冒号后面的表达式。如果前面的情况都与 Select 条件不匹配,则匹配 Default 情况。注意 Default 后面也有个冒号。

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 {movie.NOM}
Case 1,2,3, Is < 1 :
(
10 + 20;
"low"
)
Case 4 To 6, 7, 8, 9 :
"medium"
Case 10 :
"high"
Default :
"extreme"


Select 表达式的 Default 子句是可选的。如果没有 Default 子句,并且没有匹配的情况,则 Select 表达式将返回其表达式类型的默认值。例如,如果在上例中省略 Default 子句,并且 {电影.提名} = 11,则将返回空字符串 ""。Select 表达式是一个表达式,有关 If 表达式的更多详细信息一节中的相似注释也适用于它。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: