Crystal Reports Designer  

變數宣告 (Crystal 語法)

在公式中使用變數之前,必須先進行宣告。變數可以保留指定型別的資料值。允許的資料型別包括七種簡單型別 (數值、貨幣、字串、布林、日期、時間和日期時間) 及六種範圍型別 (數值範圍、貨幣範圍、字串範圍、日期範圍、時間範圍及日期時間範圍) 以及之前提到可以保留陣列的資料型別。所以變數一共可以使用 26 種不同的資料型別。

當您宣告變數時,必須先為其指定一個名稱。變數名稱不可以和任何函式、運算子或其他 Crystal 語法的關鍵字相同。例如,變數名稱不可以取為 Sin、Mod 或 If,因為 Sin 是內建函式,Mod 是內建運算子,而 If 是內建關鍵字。在公式編輯器中輸入公式時,內建函式、運算子及其他關鍵字的名稱都會以不同的色彩顯示,所以,如果變數名稱發生衝突時,很容易就可以辨認出來。

變數宣告完之後,就可以在公式中使用。例如,您也許想要為它指派起始值:

Local NumberVar x; //Declare x to be a Number variable
x := 10; //Assign the value of 10 to x
注意   宣告數值變數時所使用的關鍵字結尾有一個 Var,這適用於 Crystal 語法中所有的變數型別。

變數只能儲存一種型別的值,例如,假如變數儲存的是數值,之後就不可以用來儲存字串。

範例

Local StringVar y;
y := "hello";
//OK- the Length function expects a String argument
Length (y);
//Error- y can only hold String values
y := #Jan 5, 1993#;
//Error- y can only hold String values
y := ["a", "bb", "ccc"];
//Error- the Sin function expects a Number argument
Sin (y);

您可以將宣告變數和指定變數值合併成一個運算式,例如:

Local NumberVar x := 10 + 20;
Local StringVar y := "Hello" + " " + "World";
Local DateVar z := CDate (#Sept 20, 1999#);
Local NumberVar Range gradeA := 90 To 100;

這是一個很好的範例,因為這種作法更有效率,而且可避免指定錯誤起始值這類的常見錯誤。

以下就是宣告變數及指定範圍變數起始值的範例:

Local NumberVar Range gradeA;
Local DateVar Range quarter;
gradeA := 90 To 100;
quarter := CDate (1999, 10, 1) To CDate (1999, 12, 31);

請參閱

變數範圍