Master_Detail報表範例(含查詢條件) |
|
chih
版主 發表:48 回覆:1186 積分:639 註冊:2002-04-02 發送簡訊給我 |
在網站上常見到網友詢問報表問題,大部分都很雷同,所以利用時間寫了一各Master_Detail報表程式,提供大家參考,不敢說很標準,但這整個模式是我所使用的,絕得還滿方便使用的,如果有錯誤還請不吝指正,或者有更好的意見還請提供一下,希望能讓大家對QuickReport的運用更快速..
1解開在同一各資料夾就可以了
2for D6
3在客戶代號旁的按鈕按下去,出現查詢畫面,輸入客戶代號或客戶姓名可以模糊查詢,出現在下面dbgRID中,在你要的那各客戶資料點二下,就將資料帶回主Form來了
發表人 - chih 於 2003/02/28 22:48:33
附加檔案:26567_M_D_Report.rar
|
azi79
一般會員 發表:0 回覆:1 積分:0 註冊:2003-03-02 發送簡訊給我 |
|
chih
版主 發表:48 回覆:1186 積分:639 註冊:2002-04-02 發送簡訊給我 |
|
delphiwww
資深會員 發表:145 回覆:363 積分:368 註冊:2002-03-13 發送簡訊給我 |
在button1click(如下)有問題
1.if Edit1.Text <> '' then
SQLSTR := SQLSTR ' AND exgoodsmaint.ExGoodsID ' #39 Edit1.Text #39;
字串中少了=
2.TForm2.Create(SELF);
必須改成Form2:=TForm2.Create(self);
3.此為利用query,一次選取master-detail的資料,然後利用qrgroup來分類,製作mastergroup資料,建議使用兩個query製作master-detail資料,以避免當detail資料量太大時,產生的query太大,假如一次選取,將影響系統列印時間 procedure TForm1.Button1Click(Sender: TObject);
var
SQLSTR: string;
begin
SQLSTR := '';
SQLSTR :=
' SELECT exgoodsmaint.ExGoodsID,exgoodsmaint.ClientName,exgoodsdetail.UnitPrice, '
' exgoodsdetail.TotalPrice,exgoodsdetail.EXCUT '
' FROM exgoodsmaint,exgoodsdetail '
' WHERE exgoodsmaint.ExGoodsID=exgoodsdetail.ExGoodsID ';
if Edit1.Text <> '' then
SQLSTR := SQLSTR ' AND exgoodsmaint.ExGoodsID ' #39 Edit1.Text #39;
SQLSTR := SQLSTR ' ORDER BY exgoodsmaint.ExGoodsID,exgoodsdetail.EXCUT';
try
TForm2.Create(SELF);
Form2.QRTQuery.CLOSE;
Form2.QRTQuery.SQL.CLEAR;
Form2.QRTQuery.SQL.Add(SQLSTR);
Form2.QRTQuery.Open;
Form2.QRTQuery.First;
if Form2.QRTQuery.IsEmpty then
begin
MessageDlg('無資料', mtWarning, [mbok], 0);
Form2.QRTQuery.Close;
Abort;
end
else
begin
Form2.QuickRep1.Preview;
Form2.QuickRep1.QRPrinter.Free;
Form2.QuickRep1.QRPrinter := nil;
Form2.QRTQuery.Close;
end;
finally
Form2.Free;
end;
end;
|
chih
版主 發表:48 回覆:1186 積分:639 註冊:2002-04-02 發送簡訊給我 |
承蒙DELPHIWWW大大的指正,1,2點已經修改並上傳完畢...一時寫的太快沒注意到
至於第三點,我都會另外放一個>
<>< face="Verdana, Arial, Helvetica">引言:
在button1click(如下)有問題
1.if Edit1.Text <> '' then
SQLSTR := SQLSTR ' AND exgoodsmaint.ExGoodsID ' #39 Edit1.Text #39;
字串中少了=
2.TForm2.Create(SELF);
必須改成Form2:=TForm2.Create(self);
3.此為利用query,一次選取master-detail的資料,然後利用qrgroup來分類,製作mastergroup資料,建議使用兩個query製作master-detail資料,以避免當detail資料量太大時,產生的query太大,假如一次選取,將影響系統列印時間
發表人 - chih 於 2003/03/04 00:10:16
|
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |