FastReport3的Preview怎麼寫入TABLE-A |
尚未結案
|
Kenlin2004
一般會員 ![]() ![]() 發表:20 回覆:33 積分:10 註冊:2004-10-27 發送簡訊給我 |
|
chinyu
高階會員 ![]() ![]() ![]() ![]() 發表:12 回覆:157 積分:153 註冊:2002-06-14 發送簡訊給我 |
引言: 如圖:你是指fr3的OutLine新功能嗎?,如果是的話依下圖範例的說明只要在data band與group header 的outline屬性設定就可以了。 |
Kenlin2004
一般會員 ![]() ![]() 發表:20 回覆:33 積分:10 註冊:2004-10-27 發送簡訊給我 |
那個範例我看過了,沒有講到二個TABLE如何關聯在一塊
如果將資料以UserDataSet方式寫入的話,按下樹狀圖便要更新
SQLQuery2,不知要如何才能辦得到? CODE:
SQLQuery1.Sql.Text:='Select ID,顧員名稱 from 業務單位"
SQLQuery2.Sql.Text:=Select 公司名稱,地址,連絡電話,連絡人,應收帳款 from 經銷商 Where Parentid = :cid"
SQLQuery1.Open;
SQLQuery1.First;
UDS.RangeEnd := reCount;
UDS.RangeEndCount := SQLQuery1.RecordCount;
DB1.DataSet:=SQLQuery2;
frxReport1.ShowReport; procedure TForm1.frxReport1GetValue(const VarName: String;
var Value: Variant);
begin
if CompareText(VarName, 'name') = 0 then begin
Value := SQLQuery1.fieldbyname('顧員名稱').AsString;
SQLQuery1.MoveBy(1);
end;
end; ======================================
上聯:貓空飲茶,笑看人間悲歡離合
下聯:鼠輩橫行,顛倒乾坤是非黑白
橫批:能抓老鼠的就是好貓
======================================
|
chinyu
高階會員 ![]() ![]() ![]() ![]() 發表:12 回覆:157 積分:153 註冊:2002-06-14 發送簡訊給我 |
引言: 那個範例我看過了,沒有講到二個TABLE如何關聯在一塊 如果將資料以UserDataSet方式寫入的話,按下樹狀圖便要更新 SQLQuery2,不知要如何才能辦得到? CODE: SQLQuery1.Sql.Text:='Select ID,顧員名稱 from 業務單位" SQLQuery2.Sql.Text:=Select 公司名稱,地址,連絡電話,連絡人,應收帳款 from 經銷商 Where Parentid = :cid" SQLQuery1.Open; SQLQuery1.First; UDS.RangeEnd := reCount; UDS.RangeEndCount := SQLQuery1.RecordCount; DB1.DataSet:=SQLQuery2; frxReport1.ShowReport; procedure TForm1.frxReport1GetValue(const VarName: String; var Value: Variant); begin if CompareText(VarName, 'name') = 0 then begin Value := SQLQuery1.fieldbyname('顧員名稱').AsString; SQLQuery1.MoveBy(1); end; end; ====================================== 上聯:貓空飲茶,笑看人間悲歡離合 下聯:鼠輩橫行,顛倒乾坤是非黑白 橫批:能抓老鼠的就是好貓 ======================================二個TABLE如何關聯在一塊的方法跟報表的outline功能無關。 你可用下列方法達成 1.用sql語法合為一個table 2. SQLQuery1.Sql.Text:='Select ID,顧員名稱 from 業務單位" SQLQuery2.Sql.Text:=Select 公司名稱,地址,連絡電話,連絡人,應收帳款 from 經銷商 Where Parentid = :cid" 在SQLQuery1的AfterScroll事件中填入 SQLQuery2.close; SQLQuery2.ParamByName('cid').Value:=SQLQuery1.FieldByName('ID').Value; SQLQuery1.Open; 其中參數的填入方式還要看你是用那一個元件而不同。 3.SQLQuery2.DataSource屬性 填入 SQLQuery1 的 DataSource 元件方法。 使用上述三個方法關連兩個table後,只要在報表的 在data band與group header 的outline屬性設定就可以。 |
Kenlin2004
一般會員 ![]() ![]() 發表:20 回覆:33 積分:10 註冊:2004-10-27 發送簡訊給我 |
|
chinyu
高階會員 ![]() ![]() ![]() ![]() 發表:12 回覆:157 積分:153 註冊:2002-06-14 發送簡訊給我 |
引言: 首先謝謝你熱心的回答! 還有一個小問題,FASTREPORT的DATASET(frxDBDataset) 要指定給誰呢,是SQLQuery1還是SQLQuery2? group header若放進等等,你應收先學會作fastreport報表,祥細請看說明書或是demo吧,手冊與demo都寫的很好,應該先看過,不然你關念不對,問題問不完的。 一個SQLQuery元件就就要用一個frxDBDataset與data band報表元件,而frxReport1.DataSet則指定給主檔的frxDBDataset,而frxDBDataset的範圍(RangeBegin預設=rbFirst、RangeEnd預設=reLast)本來預設就是全部,而報表資料元件(如TfrxMemoView…)是要放在各band(如各data band、group header…)上。 |
Kenlin2004
一般會員 ![]() ![]() 發表:20 回覆:33 積分:10 註冊:2004-10-27 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |