全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:4209
推到 Plurk!
推到 Facebook!

如何從StringGrid填資料到QRDBText裡面?

答題得分者是:chih
capyu
一般會員


發表:17
回覆:23
積分:7
註冊:2005-01-23

發送簡訊給我
#1 引用回覆 回覆 發表時間:2007-02-14 14:27:04 IP:60.248.xxx.xxx 訂閱
請問一下  我想列印報表  但是我的資料筆數不一定  而且不是單純的來自資料庫
有辦法可以從StringGrid 塞資料進去 QRDBText 嗎?
是需要先將StringGrid資料塞進去Table裡面
再從Table給QRDBText嗎?

有人知道該怎麼做嗎? 麻煩一下 謝謝
chih
版主


發表:48
回覆:1186
積分:639
註冊:2002-04-02

發送簡訊給我
#2 引用回覆 回覆 發表時間:2007-02-14 16:28:05 IP:61.221.xxx.xxx 訂閱
1.如果一定要用QRDBText ,那就要Table有值,QRDBText 才有資料.
2.可以用QRLabel來取的StringGrid的值 這樣就不用先寫進Table
兩各方法你自己選擇
TRY TRY SEE

capyu
一般會員


發表:17
回覆:23
積分:7
註冊:2005-01-23

發送簡訊給我
#3 引用回覆 回覆 發表時間:2007-02-15 00:18:29 IP:122.126.xxx.xxx 訂閱

1. 如果要用QRDBText的話,那我要如何將資料填入Table呢?
我知道如何操作StringGrid 但是 不知如何填入Table

2. 因為我的資料筆數不固定,可能只有一筆,也可能好幾筆,甚至超過一頁
這樣可以用QRLabel嗎? QRLabel不是只能接收單一資料嗎?

===================引 用 文 章===================
1.如果一定要用QRDBText ,那就要Table有值,QRDBText 才有資料.
2.可以用QRLabel來取的StringGrid的值 這樣就不用先寫進Table
兩各方法你自己選擇
TRY TRY SEE

chih
版主


發表:48
回覆:1186
積分:639
註冊:2002-04-02

發送簡訊給我
#4 引用回覆 回覆 發表時間:2007-02-15 08:11:29 IP:61.221.xxx.xxx 訂閱
1.StringGrid  資料是如何得到的?USER Key in?
2.報表樣式不知道??
===================引 用 文 章===================

1. 如果要用QRDBText的話,那我要如何將資料填入Table呢?
我知道如何操作StringGrid 但是 不知如何填入Table

2. 因為我的資料筆數不固定,可能只有一筆,也可能好幾筆,甚至超過一頁
這樣可以用QRLabel嗎?? QRLabel不是只能接收單一資料嗎?
capyu
一般會員


發表:17
回覆:23
積分:7
註冊:2005-01-23

發送簡訊給我
#5 引用回覆 回覆 發表時間:2007-02-15 09:19:56 IP:60.248.xxx.xxx 訂閱
1. StringGrid 是透過資料庫挖出來的, 這樣可以填入Table嗎?

2. 報表樣式知道 但是沒辦法確定資料會有多少筆 多少頁 所以沒辦法用QRDBText

===================引 用 文 章===================
1.StringGrid? 資料是如何得到的?USER Key in?
2.報表樣式不知道??
===================引 用 文 章===================

1. 如果要用QRDBText的話,那我要如何將資料填入Table呢?
我知道如何操作StringGrid 但是 不知如何填入Table

2. 因為我的資料筆數不固定,可能只有一筆,也可能好幾筆,甚至超過一頁
這樣可以用QRLabel嗎?? QRLabel不是只能接收單一資料嗎?
chih
版主


發表:48
回覆:1186
積分:639
註冊:2002-04-02

發送簡訊給我
#6 引用回覆 回覆 發表時間:2007-02-15 10:18:13 IP:61.221.xxx.xxx 訂閱
1.你原來就有資料了,那就不用轉入Table 可以參考底下有一各範例,不過是Delphi的
http://delphi.ktop.com.tw/board.php?cid=31&fid=79&tid=26567
2.該範例中有報表樣式
TRY TRY SEE

===================引 用 文 章===================
1. StringGrid 是透過資料庫挖出來的, 這樣可以填入Table嗎?
2. 報表樣式知道? 但是沒辦法確定資料會有多少筆? 多少頁? 所以沒辦法用QRDBText
capyu
一般會員


發表:17
回覆:23
積分:7
註冊:2005-01-23

發送簡訊給我
#7 引用回覆 回覆 發表時間:2007-02-15 10:29:57 IP:220.134.xxx.xxx 訂閱
糟糕  我用BCB 沒辦法開啟這個

這樣好了 我問一下 我這樣寫有問題嗎?

void __fastcall TQRListForm::QuickRep1NeedData(TObject *Sender,
bool &MoreData)
{
ADOQuery1->Connection = Form2->ADOConnection1;
ADOQuery1->SQL->Clear();
ADOQuery1->SQL->Add("Select * from dbo.DELIVER_SHEET where DS_SHEET_NO='" DeliverNO "'");
ADOQuery1->Open();
QRDBText1->DataSet = ADOQuery1;
QRDBText1->DataField = "DS_WARE";
}

chih
版主


發表:48
回覆:1186
積分:639
註冊:2002-04-02

發送簡訊給我
#8 引用回覆 回覆 發表時間:2007-02-15 10:37:23 IP:61.221.xxx.xxx 訂閱
我覺得你的問題點好像是在QuickReport 最基本的使用都不會??
===================引 用 文 章===================
糟糕? 我用BCB 沒辦法開啟這個

這樣好了? 我問一下 我這樣寫有問題嗎?

void __fastcall TQRListForm::QuickRep1NeedData(TObject *Sender,
????? bool &MoreData)
{
??????? ADOQuery1->Connection = Form2->ADOConnection1;
??????? ADOQuery1->SQL->Clear();
??????? ADOQuery1->SQL->Add("Select * from dbo.DELIVER_SHEET where DS_SHEET_NO='" DeliverNO "'");
??????? ADOQuery1->Open();
??????? QRDBText1->DataSet = ADOQuery1;
??????? QRDBText1->DataField = "DS_WARE";
}

capyu
一般會員


發表:17
回覆:23
積分:7
註冊:2005-01-23

發送簡訊給我
#9 引用回覆 回覆 發表時間:2007-02-15 13:12:13 IP:220.134.xxx.xxx 訂閱
被您猜對了  我是第一次使用報表

基本上我知道如何產生報表 流程大概是這樣

1. 設定 Table 元件的 databasename (但是我的是remote SQL server 好像連不到)
2. 增加datasource元件並設定 DataSet = Table1
3. 將QuickRep的datasource設成 datasource1
4. 將QRDBText的datasource設成 datasource1 ,datafield設成欄位名稱

但是我的資料需要下SQL指令取得 所以我會覺得可能沒辦法利用DB取得資料
chih
版主


發表:48
回覆:1186
積分:639
註冊:2002-04-02

發送簡訊給我
#10 引用回覆 回覆 發表時間:2007-02-15 14:17:13 IP:61.221.xxx.xxx 訂閱
第一次使用報表 ,那你應該先看一下Sample.

需要下SQL那就把你的Table換成Query就可以下SQL了.
TRY TRY SEE
===================引 用 文 章===================
被您猜對了? 我是第一次使用報表

基本上我知道如何產生報表? 流程大概是這樣

1.?設定 Table 元件的 databasename (但是我的是remote SQL server 好像連不到)
2. 增加datasource元件並設定 DataSet = Table1
3. 將QuickRep的datasource設成 datasource1
4. 將QRDBText的datasource設成 datasource1 ,datafield設成欄位名稱

但是我的資料需要下SQL指令取得?? 所以我會覺得可能沒辦法利用DB取得資料
capyu
一般會員


發表:17
回覆:23
積分:7
註冊:2005-01-23

發送簡訊給我
#11 引用回覆 回覆 發表時間:2007-02-15 15:11:05 IP:220.134.xxx.xxx 訂閱
感謝 chih 兄  我已經做出來了
不過有個小小的問題是 我在報表前面有加個 『項次』 的欄位,
就是從第一筆開始算起 1 .2 .3 ...............
但是這個欄位資料庫沒有ㄟ
有什麼辦法可以做到嘛?

還有 Quick Report 似乎沒有辦法做到像下面的表格是不是?

項次 欄位一 住址 電話
1 曉明 台北縣 02-22222
2 大頭 桃園縣 03-32454
chih
版主


發表:48
回覆:1186
積分:639
註冊:2002-04-02

發送簡訊給我
#12 引用回覆 回覆 發表時間:2007-02-15 17:17:41 IP:61.221.xxx.xxx 訂閱
最簡單的作法:
1.放一各QrLabel來顯示項次
2.設定一各變數 beforeprint 的時候 1 再丟給QrLabel 項次就做出來了
TRY TRY SEE

系統時間:2017-10-18 0:57:26
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!