- 水晶报表教程
- 水晶报表 - 主页
- 水晶报表 - 概述
- 水晶报表 - GUI 导航
- 水晶报表 - 选项
- Crystal Reports - 页面布局
- 水晶报表 - 获取帮助
- Crystal Reports - 设计环境
- 水晶报表 - 数据源
- Crystal Reports - 查询
- 查询过滤器和过滤条件
- Crystal Reports - 基于时间的过滤器
- 字段对象控制和修改
- Crystal Reports - 部分
- Crystal Reports - 删除部分
- 水晶报表 - 组
- Crystal Reports - 组选项
- 水晶报表 - 模板
- Crystal Reports - 插入对象
- Crystal Reports - 图表
- Crystal Reports - 交叉表布局
- Crystal Reports - 定义公式
- 水晶报表 - 公式研讨会
- 创建和修改公式
- 水晶报表 - 应用布尔公式
- 水晶报表 - If-Then-Else
- Crystal Reports - 应用计算
- Crystal Reports - 条件格式
- Crystal Reports - 创建变量
- Crystal Reports - 创建数组
- 水晶报表 - 参数
- 水晶报表 - 过滤器
- Crystal Reports - 提示面板
- Crystal Reports - 级联提示
- Crystal Reports - 创建参数字段
- Crystal Reports - 编辑参数字段
- Crystal 子报表 - 概述
- Crystal Reports - 数据导出概述
- Crystal Reports - 数据导出到 Excel
- Crystal Reports - 数据导出到 XML
- Crystal Reports - 数据导出为 HTML
- Crystal Reports - 数据导出至 CSV
- 水晶报表有用的资源
- 水晶报表 - 快速指南
- 水晶报表 - 有用的资源
- 水晶报表 - 讨论
Crystal Reports - 创建变量
与固定的常量不同,变量用于为对象分配不同的值。当您为变量分配一个值时,它会保留该值,直到您为其分配新值为止。在使用变量之前,有必要在报表中定义它们。
当您在 Crystal Report 中声明变量时,您需要为其指定一个名称,但是该名称不应与任何其他函数、运算符等相同。变量可以是数字类型、字符串类型、日期类型、布尔类型类型、范围类型或数组类型。变量可以保存单一类型的值,就像您将其声明为数字一样,以后它就不能用于保存字符串值。
定义变量
Local Stringvar Customer_Lastname Local numbervar Sales_percentage
声明变量的关键字末尾有“var”,并且对于所有变量类型都是如此。您还可以通过声明或单独的语法为变量分配初始值。
Local NumberVar Z; //Declare Z to be a Number variable Z := 30; //Assign the value of 30 to Z
要在公式中使用变量,需要定义其范围。变量范围可以分为三种类型 -
- 当地的
- 全球的
- 共享
这定义了一个公式中的变量可以在其他公式中使用。
局部变量
局部变量是使用 local 关键字声明的,后跟类型和变量名称,如上面的示例所示。
局部变量仅限于单个公式。这意味着您无法从一个公式中访问另一公式中的局部变量的值。
//Formula 1 Local NumberVar Z; Z := 30; //Formula 2 EvaluateAfter ({@Formula A}) Local NumberVar Z; Z := z + 5;
在上面的示例中,公式 2 将返回值 5,因为 Z 在公式 1 中被声明为局部数字变量,因此它将采用公式 2 中变量 Z 的默认值。
全局变量
全局变量在整个主报告中使用。它们的值可用于声明变量的所有公式(子报表中的公式除外)。
Global StringVar Z;
建议仅当局部变量无法满足需求时才使用全局变量。
由于全局变量在整个主报表中共享其值,因此您不能在具有一种类型的一个公式中声明一个全局变量,然后在具有不同类型的不同公式中声明一个具有相同名称的全局变量。
共享变量
共享变量在主报告及其所有子报告中使用。共享变量甚至比全局变量更通用。
要使用共享变量,请在主报告的公式中声明它 -
Shared NumberVar Z := 10;
要使用共享变量,必须对其进行声明并赋值,然后才能在主报表和子报表中使用。