水晶报表 - 创建变量



变量用于为对象分配不同的值,这与固定不变的常量不同。当您为变量赋值时,它会保留该值,直到您为其分配新值为止。在使用变量之前,需要在报表中定义它们。

在水晶报表中声明变量时,需要为其指定名称,但是此名称不应与任何其他函数、运算符等相同。变量可以是数字类型、字符串类型、日期类型、布尔类型、范围类型或数组类型。一个变量只能保存单一类型的值,例如,如果将其声明为数字类型,则以后不能用于保存字符串值。

定义变量

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;

要使用共享变量,必须在主报表和子报表中使用它之前声明并为其赋值。

广告