Crystal Reports for Rational Application Developer 设计员指南

Switch (expr1, value1, expr2, value2, …)

示例报表
在名为“Record Selection on DateRange.rpt”的示例报表中提供了本示例更完整的版本,其中包含了 27 个 Switch 条件。
示例报表位于 Crystal Reports 目录中的 \Samples\En\Reports 之下。
在预览报表时,提供一个参考订单日期参数 {?reference date} 和一个范围条件 {?reference condition},用来表示参考订单日期前后的日期范围。之后,报表预览时仅查看订单日期在指定范围内的记录。
整个记录选择是在数据库服务器上进行的。原因在于:在访问数据库之前,可以对 Switch 函数及其所有参数进行求值。
注意:
  • 在此示例报表中,Switch 函数返回一个日期范围值。
  • 代码的缩进样式使得 Switch 函数调用看起来与控制结构相似,并且该函数读起来也更容易些。
  • 最后一个表达式是布尔值 True。
此 Switch 函数调用提供一个显式默认值,因为在其他表达式没有一个为 True 时,最后一个表达式自动为 True,于是返回日期范围 CDate (1899, 12, 30) To CDate(1899, 12, 30)。
//Crystal syntax record selection formula
{Orders.Order Date} in
Switch
(
{?reference condition} = "Aged 0 to 30 days",
({?reference date} - 30) To {?reference date},
{?reference condition} = "Aged 31 to 60 days",
({?reference date} - 60) To ({?reference date} - 31),
{?reference condition} = "Aged 61 to 90 days",
({?reference date} - 90) To ({?reference date} - 61),
True, // provide default handling and specify a valid range
CDate(1899, 12, 30) To CDate(1899, 12, 30)
)



Business Objects,SAP 子公司
http://www.china.businessobjects.com/
支持服务
http://www.china.businessobjects.com/support/
Web 上的产品文档
http://support.businessobjects.com/documentation/