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

建立報表新手請教

尚未結案
sklui82
一般會員


發表:18
回覆:8
積分:5
註冊:2004-12-15

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-01-11 16:15:11 IP:202.140.xxx.xxx 未訂閱
小弟的資料庫有一table 如下圖格式. 圖中紀錄了四種product 每天的銷量和銷售額.  現在我想以 SQL 取得某幾天各product 的 price 欄資料. 並以下圖格式顯示. 再輸出到excel file. 請問以TQreport 等控件能做到嗎??? 可否提供些example 作參考?? 謝謝
pedro
尊榮會員


發表:152
回覆:1187
積分:892
註冊:2002-06-12

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-01-12 09:40:57 IP:210.61.xxx.xxx 未訂閱
sklui82您好    我的想法是,用sql語法 SELECT product_no,date,sum(price) as price from table1 group by product_no,date 先調出資料,再以ClientDataSet去做成您輸出格式的資料整理
var
  prod_no,dat:string;
begin
  ClientDataSet1.EmptyDataSet;
  ADOQuery2.First;
  while not ADOQuery2.Eof do
  begin
    ClientDataSet1.Append;
    ClientDataSet1Product_no.Value:=ADOQuery2.FieldByName('product_no').AsString;
    ADOQuery2.Next;
  end;
  ADOQuery2.First;
  while not ADOQuery2.Eof do
  begin
    prod_no:=AdOQuery2.FieldByName('product_no').AsString;
    ADOQuery3.First;
    while not ADOQuery3.Eof do
    begin
      dat:=ADOQuery3.FieldByName('date').AsString;
      ADOQuery1.First;
      while not ADOQuery1.Eof do
      begin
        if (ADOQuery1.FieldByName('product_no').AsString=prod_no) and (adoquery1.FieldByName('date').AsString=dat) then
        begin
          ClientDataSet1.First;
          ClientDataSet1.MoveBy(ADOQuery2.RecNo-1);
          ClientDataSet1.Edit;
          case ADOQuery3.RecNo-1 of
           0:
             ClientDataSet1D1.Value:=ADOQuery1.FieldByName('price').AsInteger;
           1:
             ClientDataSet1D2.Value:=ADOQuery1.FieldByName('price').AsInteger;
           2:
             ClientDataSet1D3.Value:=ADOQuery1.FieldByName('price').AsInteger;
           3:
             ClientDataSet1D4.Value:=ADOQuery1.FieldByName('price').AsInteger;
          end;
          ClientDataSet1.Post;
        end;
        ADoQuery1.Next;
      end;
      ADOQuery3.Next;
    end;
    ADoQuery2.Next;
  end;
end;
再套用天使大大的範例,"將DBGrid資料轉至Excel檔的程式範例" http://delphi.ktop.com.tw/topic.php?TOPIC_ID=19473 輸出到Excel 完整的範例 http://delphi.ktop.com.tw/topic.php?TOPIC_ID=63364
delphiwww
資深會員


發表:145
回覆:363
積分:368
註冊:2002-03-13

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-01-12 12:06:59 IP:202.39.xxx.xxx 未訂閱
建議你直接將資料轉到Excel,然後用Excel的樞紐分析,就可以快速完成 另外用Delphi控制Excel,做成樞紐分析,請參考範例即可
sklui82
一般會員


發表:18
回覆:8
積分:5
註冊:2004-12-15

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-01-12 14:52:40 IP:202.140.xxx.xxx 未訂閱
引言: 建議你直接將資料轉到Excel,然後用Excel的樞紐分析,就可以快速完成 另外用Delphi控制Excel,做成樞紐分析,請參考範例即可
我試過用excel 的vlookup 之類的function 去做. 但因為資料太多(過萬rows) 速度極慢. 所我我希望能先以delphi 完成, 再輸出excel. < >< >
sklui82
一般會員


發表:18
回覆:8
積分:5
註冊:2004-12-15

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-01-12 21:07:11 IP:221.126.xxx.xxx 未訂閱
請問Tclientdataset 控件在那兒??/ 我是用delphi 5 的, 找遍整個版面都找不到    < >< >
pedro
尊榮會員


發表:152
回覆:1187
積分:892
註冊:2002-06-12

發送簡訊給我
#6 引用回覆 回覆 發表時間:2005-01-13 09:25:30 IP:210.61.xxx.xxx 未訂閱
[Data Access]那一頁
sklui82
一般會員


發表:18
回覆:8
積分:5
註冊:2004-12-15

發送簡訊給我
#7 引用回覆 回覆 發表時間:2005-01-13 10:15:53 IP:202.140.xxx.xxx 未訂閱
引言: [Data Access]那一頁
找不到..........< >< >大概delphi 5 沒有提供, 我連ADO 也沒有的
blueK
初階會員


發表:19
回覆:62
積分:36
註冊:2004-05-06

發送簡訊給我
#8 引用回覆 回覆 發表時間:2007-04-10 18:06:31 IP:203.67.xxx.xxx 未訂閱
請問哪邊有範例可以參考呢???多謝!!!
===================引 用 文 章===================
建議你直接將資料轉到Excel,然後用Excel的樞紐分析,就可以快速完成另外用Delphi控制Excel,做成樞紐分析,請參考範例即可
channel
尊榮會員


發表:67
回覆:707
積分:854
註冊:2002-05-02

發送簡訊給我
#9 引用回覆 回覆 發表時間:2007-04-11 00:47:27 IP:61.225.xxx.xxx 訂閱
Delphi5是在Midas頁夾

===================引 用 文 章===================
請問Tclientdataset 控件在那兒??/ 我是用delphi 5 的, 找遍整個版面都找不到

QuickReport 3.05以上的版本有提供轉Excel的元件QRExcelFilter1

===================引 用 文 章===================
請問以TQreport 等控件能做到嗎???
------
~小弟淺見,參考看看~
系統時間:2024-04-24 20:35:56
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!