線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1703
推到 Plurk!
推到 Facebook!

QR如何讓每一頁的表頭不同呢..

答題得分者是:chuang7287
t0288542
中階會員


發表:216
回覆:254
積分:94
註冊:2004-10-06

發送簡訊給我
#1 引用回覆 回覆 發表時間:2007-11-23 17:00:31 IP:60.248.xxx.xxx 訂閱
各位,大大..

以下我的資料內容

item c_no a_1
0001 A 100
0001 B 200
0001 C 300
0001 D 400
0002 A 150
0002 B 260
0002 C 360
0002 D 450

希望報表列印時,當遇到
item為0001時 表頭
項目 客別 利益總合
item為0002時 表頭
項目 客別 平均利益

請問可以做的到嗎,不然是不是分個多個報表show.
thks


hagar
版主


發表:143
回覆:4056
積分:4445
註冊:2002-04-14

發送簡訊給我
#2 引用回覆 回覆 發表時間:2007-11-23 19:43:11 IP:59.124.xxx.xxx 未訂閱
試試在 TQuickRep.BeforePrint 事件中, 控制表頭那些 TQRLabel 的 Visible 屬性
t0288542
中階會員


發表:216
回覆:254
積分:94
註冊:2004-10-06

發送簡訊給我
#3 引用回覆 回覆 發表時間:2007-11-26 09:59:55 IP:60.248.xxx.xxx 訂閱
謝謝您,
BeforePrint中,如下..
if Trim(frPCost01_2.ADOQuery1Item.AsString)='0001'
then QRLabel1.Caption := '3個月合計';
if Trim(frPCost01_2.ADOQuery1Item.AsString)='0002'
then QRLabel1.Caption := '月平均';
if Trim(frPCost01_2.ADOQuery1Item.AsString)='0003'
then QRLabel1.Caption := '1公斤平均';
顯示出來,每一頁QRLabel1都是'3個月合計'。
好奇怪。謝謝。
hagar
版主


發表:143
回覆:4056
積分:4445
註冊:2002-04-14

發送簡訊給我
#4 引用回覆 回覆 發表時間:2007-11-28 07:05:23 IP:59.124.xxx.xxx 未訂閱
說錯了, 應該是 OnNeedData Event
不過, 您得自己試試..
t0288542
中階會員


發表:216
回覆:254
積分:94
註冊:2004-10-06

發送簡訊給我
#5 引用回覆 回覆 發表時間:2007-11-28 10:17:02 IP:60.248.xxx.xxx 訂閱
您好。結果還是一樣。
是否。跟群組有關呢。
Group1.Expression 內容為 ADOQuery1.Item。
thks


chuang7287
初階會員


發表:1
回覆:20
積分:29
註冊:2002-10-22

發送簡訊給我
#6 引用回覆 回覆 發表時間:2007-11-28 15:20:17 IP:61.228.xxx.xxx 訂閱
你應該在 QRLable1的OnPrint事件中處理
procedure Reprot.QRLabel1Print(sender: TObject;
var Value: String);
begin
if Trim(frPCost01_2.ADOQuery1Item.AsString)='0001' then
Value:= '3個月合計'
else if Trim(frPCost01_2.ADOQuery1Item.AsString)='0002' then
Value:= '月平均'
else if Trim(frPCost01_2.ADOQuery1Item.AsString)='0003' then
Value:= '1公斤平均'
else
Value:='xxxxxxx';
end;
===================引 用 t0288542 文 章===================
謝謝您,
BeforePrint中,如下..
if Trim(frPCost01_2.ADOQuery1Item.AsString)='0001'
then QRLabel1.Caption := '3個月合計';
if Trim(frPCost01_2.ADOQuery1Item.AsString)='0002'
then QRLabel1.Caption := '月平均';
if Trim(frPCost01_2.ADOQuery1Item.AsString)='0003'
then QRLabel1.Caption := '1公斤平均';
顯示出來,每一頁QRLabel1都是'3個月合計'。
好奇怪。謝謝。
------
結案=動力
高手等等我 .... 追隨高手永不懈怠!!
yubad2000
中階會員


發表:0
回覆:44
積分:78
註冊:2007-09-30

發送簡訊給我
#7 引用回覆 回覆 發表時間:2007-12-03 13:15:52 IP:66.171.xxx.xxx 未訂閱
1. You might consider creating another table to store the header data
i.e.
ReportHeader (table)
item Desc
------- -----------
0001 利益總合
0002 平均利益
......
....

2. Change your query to
Select * from Items, ReportHeader where Items.item = ReportHeader.item

3. In QR, group by item field. Then, enable the group header section in which put a data field for Desc field, not in detail section.

Therefore, You don't need to use "fixed" code on report titles.

===================引 用 t0288542 文 章===================
各位,大大..

以下我的資料內容

item c_no a_1
0001 A 100
0001 B 200
0001 C 300
0001 D 400
0002 A 150
0002 B 260
0002 C 360
0002 D 450

希望報表列印時,當遇到
item為0001時 表頭
項目 客別 利益總合
item為0002時 表頭
項目 客別 平均利益

請問可以做的到嗎,不然是不是分個多個報表show.
thks


------
===波士頓夜未眠===
What a wonderful world!!
Jazz up the world with jazz!!
==================

When I am not programming...
you can find me here:
http://www.holy-war.de/EN/World3/bin/?advertiser=63190
系統時間:2017-10-17 22:49:17
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!