Crystal Reports - 创建变量

变量用于为对象分配不同的值,而不像常量是固定的.为变量赋值时,它会保留该值,直到为其赋值为止.在使用变量之前,有必要在报表中定义它们.

在Crystal Report中声明变量时,需要为其指定一个名称,但是这个名称不应该是与任何其他函数,运算符等相同.变量可以是数字类型,字符串类型,日期类型,布尔类型,范围类型或数组类型.变量可以保存单个类型的值,就像您将其声明为数字一样,以后不能用它来保存字符串值.

定义变量

Local Stringvar Customer_Lastname

Local numbervar Sales_percentage


关键字for声明变量末尾有"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中被声明为局部数字变量,因此它将采用变量Z的默认值在公式2中.

全局变量

在主报告中使用全局变量.除了子报告中的那些公式之外,它们的值可用于声明变量的所有公式.

Global StringVar Z;


建议仅在局部变量不足时使用全局变量.

由于全局变量共享它们在主报表中的值,您不能在一个公式中使用一种类型声明全局变量,然后在具有不同类型的不同公式中声明具有相同名称的全局变量.

共享变量

在主报告及其所有子报告中使用共享变量.共享变量甚至比全局变量更通用.

要使用共享变量,请在主报表中的公式中声明它并减去;

Shared NumberVar Z := 10;


要使用共享变量,必须先声明并赋值,然后才能在主报表和子报表中使用它.