Crystal Reports基本語法

2021-09-04 10:09:26 字數 3094 閱讀 5984

在crystal reports中支援兩種語法,crystal和basic,本文只介紹crystal語法。

crystal

語法是不區分大小寫的。

1)資料型別

在crystal reports中,支援七種簡單資料型別

數字:1,-100

貨幣:$100.1,-$12或ccur(100.1),ccur(-12)

字串:「123」,「字串」

布林值:true,false

日期:cdate(「2/2/2009」)

範圍資料型別

從2到5(包括2和5)

2 to 5

從2到5(不包括2包括5)

2 _to 5

小於或等於5

upto 5

小於5的所有數字

upto_ 5

日期範圍

#jan 5,2009# to #dec 12,2009#

陣列型別

[1,2,3] [

」a」,」b」,」c」]

2)變數作用域

區域性變數:

區域性變數只限於單個公式以及該公式的單個求值。也就是說,無法從其他公式訪問某個公式中的區域性變數值。

區域性變數聲命格式:

local +

型別名稱(帶有字尾 var)+ 該變數名宣告的

例子:local stringvar x := "hello";

全域性變數:

全域性變數使用相同的記憶體塊在整個主報表中儲存乙個值。除子報表中的公式外,該值隨後可用於所有宣告此變數的公式。

全域性變數聲命格式:

global+

型別名稱(帶有字尾 var)+ 該變數名宣告的

例子:global stringvar y;

預設情況下,也可以省略建立全域性變數的 global 關鍵字。

共享變數:

共享變數使用相同的記憶體塊,在整個主報表及其所有子報表中儲存變數值。因而,共享變數甚至比全域性變數更普遍。若要使用共享變數,請在主報表內的公式中宣告它

共享變數聲命格式:

shared+

型別名稱(帶有字尾 var)+ 該變數名宣告的

例子:shared stringvar y;

3)運算子

算術運算子用於組合數字、數值變數、數值字段和數值函式以得到另乙個數字。

算術運算子是加 (+)、減 (-)、乘 (*)、除 (/)、整除 (")、百分比 (%)、求餘 (mod)、求反 (-) 和求冪 (^)。

下面是優先順序從高到低排列的算術運算子:

求冪 (^)

求反 (-)

乘、除和百分比 (*, /, %)

整除 (")

求餘 (mod)

加和減 (+, -)

比較運算子通常用於比較控制結構中的條件(如 if 表示式)的運算元。

比較運算子有等於 (=)、不等於 (<>)、小於 (<)、小於或等於 (<=)、大於 (>) 和大於或等於 (>=)。

布林運算子通常與比較運算子一起使用,生成控制結構的條件。

按照從優先順序最高到最低的順序,布林運算子有:not、and、or、xor、eqv 和 imp。

一般情況下,crystal reports 在公式中遇到空值欄位時,會立即停止公式求值而不產生任何值。若要處理公式中的空字段值,則必須使用專門用於處理空字段值的特殊函式進行顯式處理。這些函式包括:isnull、previousisnull 或 nextisnull。

4)控制結構

if 表示式是最有用的控制結構之一。它使您得以在條件為 true 時對一系列表示式求值,而在條件不為 true 時對其他一系列表示式求值。

例子:if = "sales" then

* 0.06

else

* 0.04

select

表示式與 if 表示式相似。然而,有時可以使用 select 表示式編寫更清楚且重複少的公式。下例對 字段求值,以確定區號是北京區號 (010) 還是其他地方:

例子:select [1 to 3]

case "010" : "

北京"

default : "

其他";

for

迴圈使您能夠對一系列表示式多次求值。這不同於 if 和 select 表示式,在 if 和 select 語句中,程式在對公式求值時幾乎同時傳遞每個語句。

如果事先知道需要對語句求值的次數,最好使用 for 迴圈。

使用 for 迴圈

local numbervar strlen :=0;

local numbervar i;

local numbervar sum;

for i := 1 to 100 do (

sum := sum +1i

);

while ... do

迴圈對條件求值,如果條件為 true,則對 do 後面的表示式求值。

完成對表示式的求值後,再次對該條件求值,如果條件為 true,則再次對 do 後面的表示式求值。

它不斷重複該過程,直到條件為 false 時為止。

do ... while

迴圈對任何表示式求值一次。

然後對條件求值,如果條件為 true,則再次對表示式求值。該過程持續進行,直到條件為 false 時為止。

5)函式

在crystal reports中,系統提供了很多函式,有數學、彙總、財務、字串、日期/時間、日期範圍、陣列、型別轉換、程式設計快捷方式、求值時間、列印狀態、文件屬性和附加函式。還有一些函式是條件格式設定公式專用函式。

Crystal Reports基本語法

在crystal reports中支援兩種語法,crystal和basic,本文只介紹crystal語法。crystal 語法是不區分大小寫的。1 資料型別 在crystal reports中,支援七種簡單資料型別 數字 1,100 貨幣 100.1,12或ccur 100.1 ccur 12 字串...

Crystal Reports中的字段

字段,是crystal reports呈現資料的基本單元,也是報表的資料中心。在crystal reports中,欄位的型別有資料庫字段,公式字段,引數字段,組名字段,執行總計字段,特殊字段,未繫結字段。資料庫字段 查詢資料集中欄位的一種方式,資料庫字段一般來說描述資料的方式比較固定,資料集中是什麼...

Crystal Reports公式語法介紹

crystal reports 公式的語法比較簡單,但支援的操作符和函式非常多。在公式中可以使用變數 常量。也可以引用資料庫字段,其格式為 以下主要介紹一下字段 操作符 函式。一 字段 建立報表時使用的許多欄位也可以在公式中引用。例如,資料庫 引數 執行總計 sql表示式 摘要 組名等字段均可用於公...