水晶報表分頁匯總
建三個公式字段,第一個(公式1)輸入下面的公式:
whileprintingrecords;
global numbervar ptotal;
ptotal:=0;
第二個(公式2)輸入下面的公式:
whileprintingrecords;
global numbervar ptotal;
ptotal := ptotal + [要匯總的字段];
如果要匯總的字段不是數(shù)字,就用tonumber()函數(shù)轉換;
第三個(公式3)輸入下面的公式:
whileprintingrecords;
global numbervar ptotal;
把公式1放在頁眉,公式2放在詳細資料,并隱藏公式1和公式2;把公式3放在頁腳,格式公式3,設置為你要顯示的格式。這樣就行了。
水晶報表分頁并自動插入空白行
在論壇上經常會看到水晶報表分頁的問題,這個很好解決。
但是自動插入空白行的問題卻一直沒有很好的答案,
經過研究找到一個變通的辦法來實現(xiàn)了。
'分頁
在詳細資料上點格式化節(jié),在后面頁新建頁打勾
公式中輸入:
if onlastrecord then
FORMULA = FALSE
else
if RecordNumber mod 5 =0 then
FORMULA = TRUE
else
FORMULA = FALSE
end if
end if
'(BASIC 語法)
---------------------------------------------------------------------
最后頁不足,用空行填充:
新增一個空白詳細資料行,格式化此節(jié),在抑制顯示(無深化)打勾
公式中輸入:
if not onlastrecord then
FORMULA = TRUE
else
if (RecordNumber mod 5 = 1) then '第一個,1
FORMULA = TRUE
else
FORMULA = FALSE
end if
end if
'(BASIC 語法)
...接著第二個[ 新增一個空白詳細資料行,格式化此節(jié),在抑制顯示(無深化)打勾 ]:
公式中輸入:
if not onlastrecord then
FORMULA = TRUE
else
if (RecordNumber mod 5 = 2) then '第二個,2
FORMULA = TRUE
else
FORMULA = FALSE
end if
end if
...接著第三個[ 新增一個空白詳細資料行,格式化此節(jié),在抑制顯示(無深化)打勾 ]:
公式中輸入:
if not onlastrecord then
FORMULA = TRUE
else
if (RecordNumber mod 5 = 3) then '第三個,3
FORMULA = TRUE
else
FORMULA = FALSE
end if
end if
在論壇上經常會看到水晶報表分頁的問題,這個很好解決。
但是自動插入空白行的問題卻一直沒有很好的答案,
經過研究找到一個變通的辦法來實現(xiàn)了。
'分頁
在詳細資料上點格式化節(jié),在后面頁新建頁打勾
公式中輸入:
if onlastrecord then
FORMULA = FALSE
else
if RecordNumber mod 5 =0 then
FORMULA = TRUE
else
FORMULA = FALSE
end if
end if
'(BASIC 語法)
---------------------------------------------------------------------
最后頁不足,用空行填充:
新增一個空白詳細資料行,格式化此節(jié),在抑制顯示(無深化)打勾
公式中輸入:
if not onlastrecord then
FORMULA = TRUE
else
if (RecordNumber mod 5 = 1) then '第一個,1
FORMULA = TRUE
else
FORMULA = FALSE
end if
end if
'(BASIC 語法)
...接著第二個[ 新增一個空白詳細資料行,格式化此節(jié),在抑制顯示(無深化)打勾 ]:
公式中輸入:
if not onlastrecord then
FORMULA = TRUE
else
if (RecordNumber mod 5 = 2) then '第二個,2
FORMULA = TRUE
else
FORMULA = FALSE
end if
end if
...接著第三個[ 新增一個空白詳細資料行,格式化此節(jié),在抑制顯示(無深化)打勾 ]:
公式中輸入:
if not onlastrecord then
FORMULA = TRUE
else
if (RecordNumber mod 5 = 3) then '第三個,3
FORMULA = TRUE
else
FORMULA = FALSE
end if
end if
...(同理第四個,即最后5-1個)
(注:此方法適用于行數(shù)較少,上面是為5行為例,不過不覺得麻煩,對行數(shù)較多也可以用)...(同理第四個,即最后5-1個)