請問有關報表問題! |
答題得分者是:lu0720@yahoo.com.tw
|
g9614721
一般會員 發表:27 回覆:51 積分:15 註冊:2008-07-23 發送簡訊給我 |
我用的是delphi7 和 內建的quick report
請問 (假設query1查詢後的資料有五筆) (假設query2查詢後的資料有兩筆) 該怎麼讓他得到以下結果
或是
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
pillar62
資深會員 發表:9 回覆:324 積分:271 註冊:2002-04-15 發送簡訊給我 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
christie
資深會員 發表:30 回覆:299 積分:475 註冊:2005-03-25 發送簡訊給我 |
第一種結果
將Query1改寫 SELECT FLD1,FLD2,FLD3 FROM Tab1 UNION ALL SELECT '標題2','標題2','標題2' FROM DUAL UNION ALL SELECT FLD1,FLD2,FLD3 FROM Tab2 試試囉 ===================引 用 g9614721 文 章=================== 我用的是delphi7 和 內建的quick report 請問 (假設query1查詢後的資料有五筆) (假設query2查詢後的資料有兩筆) 該怎麼讓他得到以下結果
或是
------
What do we live for if not to make life less difficult for each other? |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
g9614721
一般會員 發表:27 回覆:51 積分:15 註冊:2008-07-23 發送簡訊給我 |
兩位大大可否再說清楚一點= =
UNION ALL 及DUAL 是什麼意思? 這樣用對嗎? date1:=DateTimePicker2.Date; date2:=DateTimePicker3.Date; with query5 do begin close; sql.Clear; sql.Add('Select 使用地點, max(領用數量) as 最大領用量,avg(領用數量) as 平均領用量 , 使用人員 from A_save2 '); sql.Add('where 物品名稱="' dblookupcombobox1.text '" and (日期>=:date1)and (日期<=:date2) group by 使用地點,使用人員 union all ' ); sql.add('SELECT '標題2','標題2','標題2' FROM DUAL union all'); sql.Add('Select 貯存地點, max(庫存數量) as 最大庫存量,avg(庫存數量) as 平均庫存量 from A_save '); sql.Add('where 物品名稱="' dblookupcombobox1.text '" and (日期>=:date1)and (日期<=:date2) group by 貯存地點 union all ' ); Query5.Params [0].DataType :=ftdate; Query5.Params [0].Value :=date1; Query5.Params [1].DataType :=ftdate; Query5.Params [1].Value :=date2; Query5.Active :=true; 以下是我的程式碼 [code delphi] var date1,date2,date3,date4:TDate; begin edit1.text:=dblookupcombobox1.Text; table2.first; if table2.Locate('公司名稱',dbedit3.text,[]) then begin date3:=DateTimePicker2.Date; date4:=DateTimePicker3.Date; with query5 do begin close; sql.Clear; SQL.Add('Select 使用地點, max(領用數量) as 最大領用量,avg(領用數量) as 平均領用量 , 使用人員 from A_save2 '); sql.Add('where 物品名稱="' dblookupcombobox1.text '" and (日期>=:date3)and (日期<=:date4) group by 使用地點,使用人員 ' ); end; Query5.Params [0].DataType :=ftdate; Query5.Params [0].Value :=date3; Query5.Params [1].DataType :=ftdate; Query5.Params [1].Value :=date4; Query5.Active :=true; date1:=DateTimePicker2.Date; date2:=DateTimePicker3.Date; with query6 do begin close; sql.Clear; SQL.Add('Select 貯存地點, max(庫存數量) as 最大庫存量,avg(庫存數量) as 平均庫存量 from A_save '); sql.Add('where 物品名稱="' dblookupcombobox1.text '" and (日期>=:date1)and (日期<=:date2) group by 貯存地點 ' ); end; Query6.Params [0].DataType :=ftdate; Query6.Params [0].Value :=date1; Query6.Params [1].DataType :=ftdate; Query6.Params [1].Value :=date2; Query6.Active :=true; end; end; [/code] ===================引 用 christie 文 章=================== 第一種結果 將Query1改寫 SELECT FLD1,FLD2,FLD3 FROM Tab1 UNION ALL SELECT '標題2','標題2','標題2' FROM DUAL UNION ALL SELECT FLD1,FLD2,FLD3 FROM Tab2 試試囉 ===================引 用 g9614721 文 章=================== 我用的是delphi7 和 內建的quick report 請問 (假設query1查詢後的資料有五筆) (假設query2查詢後的資料有兩筆) 該怎麼讓他得到以下結果
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
st33chen
尊榮會員 發表:15 回覆:591 積分:1201 註冊:2005-09-30 發送簡訊給我 |
您好,
不同形態的欄位理應不能 union 在一起, 我認為您的問題應和 quick report 的 band 設計一起考慮解決 建議, 1. query1 改成 select '1' fldtype, fld1, fld2, fld3 from table1 where ... union all select '2', fld1, fld2, fld3 from table2 where ... order by fldtype, fld1, ... (請注意, union 或 union all 會以第一個 select 的欄位名稱們作為查詢結果的欄位名稱們) 2. qreport 設計 qrband ( bandtype 設為 rbtitle, 放報表頭相關欄位) --------------------- qrgroup ( 放 欄位標題, expression 設為 fldtype, forcenewpage 設 true 或 false 來管理是否要跳頁, 這個 band 的設計應該是本題的癥結所在) beforeprint 事件 設 if query1.fieldbyname('fldtype').value='1' then begin qrlabel1.caption := '使用地點'; qrlabel2.caption := '最大領用量'; qrlabel3.caption := '平均領用量'; end else begin qrlabel1.caption := '貯存地點'; qrlabel2.caption := '最大庫存量'; qrlabel3.caption := '平均庫存量'; end; ----------------------- qrband ( bandtype 設為 rbdetail, 放各欄位資料, 例 qrdbtext1 放 fld1 的資料, qrdbtext2 放 fld2 的資料, ... ) ----------------------- 若需要group 加總 qrband (bandtype 設為 rbgroupfooter, qrgroup 的 footerband 設為本 band 的 name) 參考一下的啦.
------
IS IT WHAT IT IS 我是 李慕白 請倒著唸. 又想把老話拿出來說, 請用台語發音 : 專家專家全是ROBOT CAR (滷肉腳啦); 都已接手這麼久了, 績效還是那麼爛, 講話還那麼大聲. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
lu0720@yahoo.com.tw
一般會員 發表:0 回覆:9 積分:6 註冊:2006-10-04 發送簡訊給我 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
lu0720@yahoo.com.tw
一般會員 發表:0 回覆:9 積分:6 註冊:2006-10-04 發送簡訊給我 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
g9614721
一般會員 發表:27 回覆:51 積分:15 註冊:2008-07-23 發送簡訊給我 |
我查詢出來的資料通常都不會有太多筆
我是不希望她跳頁的 希望能在一頁完成 關於QRSubdetail 請問如何指定它的DataSet 請問是用linkband嗎? 因為我放QRSubdetail 都沒有資料出來 可否說明一下= =" 謝謝! ===================引 用 lu0720@yahoo.com.tw 文 章=================== 簡單的說就是在報表上放二個 QRSubDetail DataSet 各指到你的二個Query 這樣就可以啦 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
lu0720@yahoo.com.tw
一般會員 發表:0 回覆:9 積分:6 註冊:2006-10-04 發送簡訊給我 |
dataset 屬性裏面就有啦,adoconnection *1 先指定connect到那,
在用二個adoquery . adoquery1 => select * from a 在第一個subdetail的dataset(屬性)裏選。 adoquery2 => select * from b 在第二個subdetail的dataset(屬性)裏選。 記得在二個subdetail的前面在加上一個band 寫台頭(欄位一,欄位二,…),要不加個head也可以,
------
RogersLu |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
g9614721
一般會員 發表:27 回覆:51 積分:15 註冊:2008-07-23 發送簡訊給我 |
大大~_~
我的subdetail 屬性真的沒有dataset.... 操作環境:delphi 7.0 內建的quick report ===================引 用 lu0720@yahoo.com.tw 文 章=================== dataset 屬性裏面就有啦,adoconnection *1 先指定connect到那, 在用二個adoquery . adoquery1 => select * from a 在第一個subdetail的dataset(屬性)裏選。 adoquery2 => select * from b 在第二個subdetail的dataset(屬性)裏選。 記得在二個subdetail的前面在加上一個band 寫台頭(欄位一,欄位二,…),要不加個head也可以, |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
lu0720@yahoo.com.tw
一般會員 發表:0 回覆:9 積分:6 註冊:2006-10-04 發送簡訊給我 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
g9614721
一般會員 發表:27 回覆:51 積分:15 註冊:2008-07-23 發送簡訊給我 |
大俠可否說詳細點~
不懂意思阿... ===================引 用 lu0720@yahoo.com.tw 文 章=================== 不必用QRBAND 去選啊,第二個COMPONET就是啦。 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |