Fast reportda master,detay
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
Fast reportda master,detay
Fast Reportda master detay ilişkisini kurdum sorun yok.
Ancak Her masterde sayfa başı yapıyor.Sayfa başı istemiyorum.
Master bilgisi
detay bilgisi
Master bilgisi
detay bilgisi
şeklinde yazsın. Yani her masterda sayfa başı yapmasın. Bunu nasıl önlerim.
Ancak Her masterde sayfa başı yapıyor.Sayfa başı istemiyorum.
Master bilgisi
detay bilgisi
Master bilgisi
detay bilgisi
şeklinde yazsın. Yani her masterda sayfa başı yapmasın. Bunu nasıl önlerim.
Re: Fast reportda master,detay
Her master da sayfa başı yapıyor.
Kodlama aşağıdaki şekilde.
frxreport1.ShowReport komutu döngü içinde olduğu içinmi yapıyor sayfa başını..
adosevkoku.Close;
adosevkoku.SQL.Clear;
adosevkoku.SQL.Add('select distinct gelenid from ipliksevk2 ');
adosevkoku.Open;
adosevkoku.First;
while not adosevkoku.eof do
begin
wgirisid:=adosevkoku.fieldbyname('gelenid').value;
adogiris.Close;
adogiris.SQL.Clear;
adogiris.SQL.Add('select * from iplikgirisi ');
adogiris.SQL.Add('where refno = '''+wgirisid+''' ');
adogiris.open;
adogiris.First;
adosevk.Close;
adosevk.SQL.Clear;
adosevk.SQL.Add('select * from ipliksevk2 ');
adosevk.SQL.Add(' where gelenid = '''+wgirisid+''' ');
adosevk.Open;
adosevk.First;
frxreport1.ShowReport;
adosevkoku.Next;
end;
Kodlama aşağıdaki şekilde.
frxreport1.ShowReport komutu döngü içinde olduğu içinmi yapıyor sayfa başını..
adosevkoku.Close;
adosevkoku.SQL.Clear;
adosevkoku.SQL.Add('select distinct gelenid from ipliksevk2 ');
adosevkoku.Open;
adosevkoku.First;
while not adosevkoku.eof do
begin
wgirisid:=adosevkoku.fieldbyname('gelenid').value;
adogiris.Close;
adogiris.SQL.Clear;
adogiris.SQL.Add('select * from iplikgirisi ');
adogiris.SQL.Add('where refno = '''+wgirisid+''' ');
adogiris.open;
adogiris.First;
adosevk.Close;
adosevk.SQL.Clear;
adosevk.SQL.Add('select * from ipliksevk2 ');
adosevk.SQL.Add(' where gelenid = '''+wgirisid+''' ');
adosevk.Open;
adosevk.First;
frxreport1.ShowReport;
adosevkoku.Next;
end;
-
- Üye
- Mesajlar: 330
- Kayıt: 09 Mar 2004 11:18
- Konum: Konya
- İletişim:
Re: Fast reportda master,detay
MasterBand üzerinde sağ tıklayıp "Yeni sayfada başlat" seçimini iptal ederseniz sorununuz düzelir.
Re: Fast reportda master,detay
Yeni sayfada başlat seçeneği aktif değil zaten..Ama genede ayrı bir sayfada veriyor. Bu sorunu çözmem lazım..
Benim yukardaki sorgudan olabilrimi..Ama sorguda o iekilde olmak zorunda..
Benim yukardaki sorgudan olabilrimi..Ama sorguda o iekilde olmak zorunda..
Re: Fast reportda master,detay
Arkadaşlar, fastreport daki master detay sorgusunu yapamadımi bana yardımcı olurmusunuz...
-
- Üye
- Mesajlar: 330
- Kayıt: 09 Mar 2004 11:18
- Konum: Konya
- İletişim:
Re: Fast reportda master,detay
sorguyu sürekli yenibaştan mı oluşturuyorsunuz!
forma master ve detail sorguların olduğu iki query ve bunlara bağlı iki datasource ekleyiniz,
detail query DataSource için masterdatasource seçiniz...
ve bu queryleri fxreport'ta bağlayınız...
while ile kurduğunuz döngüyü master query içerisinde
"where gelenid IN ( Select distinct gelenid from ipliksevk2 )" şeklinde ekleyerek while döngüsünden kurtulunuz.
rapor yazdır butonu tıklandığında master query ve detail query aktif ederek showreport yapınız...
forma master ve detail sorguların olduğu iki query ve bunlara bağlı iki datasource ekleyiniz,
detail query DataSource için masterdatasource seçiniz...
ve bu queryleri fxreport'ta bağlayınız...
while ile kurduğunuz döngüyü master query içerisinde
"where gelenid IN ( Select distinct gelenid from ipliksevk2 )" şeklinde ekleyerek while döngüsünden kurtulunuz.
rapor yazdır butonu tıklandığında master query ve detail query aktif ederek showreport yapınız...
Re: Fast reportda master,detay
master----adosevk
detay ---adogiris
yazdığınız gibi (' where gelenid IN (select distinct gelenid from ipliksevk2) ');
aşağıdaki şekilde adosevkoku içerisine yazdım ancak hata alıyorum.
adosevkoku.Close;
adosevkoku.SQL.Clear;
adosevkoku.SQL.Add(' where gelenid IN (select distinct gelenid from ipliksevk2) ');
adosevkoku.Open;
adosevkoku.First;
// while not adosevkoku.eof do
// begin
wgirisid:=adosevkoku.fieldbyname('gelenid').value;
adogiris.Close;
adogiris.SQL.Clear;
adogiris.SQL.Add('select * from iplikgirisi ');
adogiris.SQL.Add('where refno = '''+wgirisid+''' ');
adogiris.open;
adogiris.First;
adosevk.Close;
adosevk.SQL.Clear;
adosevk.SQL.Add('select * from ipliksevk2 ');
adosevk.SQL.Add(' where gelenid = '''+wgirisid+''' ');
adosevk.Open;
adosevk.First;
frxreport1.ShowReport;
// adosevkoku.Next;
// end;
detay ---adogiris
yazdığınız gibi (' where gelenid IN (select distinct gelenid from ipliksevk2) ');
aşağıdaki şekilde adosevkoku içerisine yazdım ancak hata alıyorum.
adosevkoku.Close;
adosevkoku.SQL.Clear;
adosevkoku.SQL.Add(' where gelenid IN (select distinct gelenid from ipliksevk2) ');
adosevkoku.Open;
adosevkoku.First;
// while not adosevkoku.eof do
// begin
wgirisid:=adosevkoku.fieldbyname('gelenid').value;
adogiris.Close;
adogiris.SQL.Clear;
adogiris.SQL.Add('select * from iplikgirisi ');
adogiris.SQL.Add('where refno = '''+wgirisid+''' ');
adogiris.open;
adogiris.First;
adosevk.Close;
adosevk.SQL.Clear;
adosevk.SQL.Add('select * from ipliksevk2 ');
adosevk.SQL.Add(' where gelenid = '''+wgirisid+''' ');
adosevk.Open;
adosevk.First;
frxreport1.ShowReport;
// adosevkoku.Next;
// end;
-
- Üye
- Mesajlar: 330
- Kayıt: 09 Mar 2004 11:18
- Konum: Konya
- İletişim:
Re: Fast reportda master,detay
sql sorgusunu CLEAR komutu ile temizledikten sonra ADD komutu ile sadece "where" şart satırını ekliyorsunuz! hata almanızın sebebi bu...adosevkoku.Close;
adosevkoku.SQL.Clear;
adosevkoku.SQL.Add(' where gelenid IN (select distinct gelenid from ipliksevk2) ');
adosevkoku.Open;
adosevkoku.First;
Kod: Tümünü seç
adogiris.Close;
adogiris.SQL.Clear;
adogiris.SQL.Add('select * from iplikgirisi ');
adogiris.SQL.Add('where refno IN (select distinct gelenid from ipliksevk2) ');
adogiris.open;
adosevk.Close;
adosevk.SQL.Clear;
adosevk.SQL.Add('select * from ipliksevk2 ');
adosevk.SQL.Add(' where gelenid = IN (select distinct gelenid from ipliksevk2) ');
adosevk.Open;
frxreport1.ShowReport;
ADO nesnesinde MasterSource özelliği olmadığı için FastReport - detailband üzerinde ADOGIRIS ve ADOSEVK sorgularında ki ortak alanları birbirine eşitlenem gerekli...
Bu işlemi de Fast Report üzerinde DetailBand.OnBeforePrint olayında kontrol ederek yapabilirsin..
Kod: Tümünü seç
if frxDataGiris."ilişkili Alan Adı" <> frxDataSevk."ilişkili Alan Adı" ) then
DetailBand.Visible := False
else
DetailBand.Visible := True;
bu bir yöntem.
Eğer fast reportta kod yazmak istemezsen yazdır butonu altında ki AdoSevk ile ilgili sorguyu silip, AdoGiris nesnesine bağlayacağın bir DataSource nesnesinin OnDataChange olayına
Kod: Tümünü seç
adosevk.Close;
adosevk.SQL.Clear;
adosevk.SQL.Add('select * from ipliksevk2 ');
adosevk.SQL.Add(' where [ ilişkili alan adı ] = ' + adogiris.fieldByName(' ilişkili Alan Adı ').AsString ');
adosevk.Open;
şeklinde de yazabilirsin.
Re: Fast reportda master,detay
Yardımlarınız için çok teşekkür ederim..
adosevk.Close;
adosevk.SQL.Clear;
adosevk.SQL.Add('select * from ipliksevk2 ');
adosevk.SQL.Add(' where gelenid = IN (select distinct gelenid from ipliksevk2) ');
adosevk.Open;
buradaki IN 'e hata alıyorum...inşallah bu konuyu sonuçlandırırım...
adosevk.Close;
adosevk.SQL.Clear;
adosevk.SQL.Add('select * from ipliksevk2 ');
adosevk.SQL.Add(' where gelenid = IN (select distinct gelenid from ipliksevk2) ');
adosevk.Open;
buradaki IN 'e hata alıyorum...inşallah bu konuyu sonuçlandırırım...
-
- Üye
- Mesajlar: 330
- Kayıt: 09 Mar 2004 11:18
- Konum: Konya
- İletişim:
Re: Fast reportda master,detay
çok pardon
ezbere yazınca böyle oluyor...
hata aldığın satırda ki "=" kaldırırsan sorun çözülecek... "IN" kullanılan yerde "=" kullanılamaz

hata aldığın satırda ki "=" kaldırırsan sorun çözülecek... "IN" kullanılan yerde "=" kullanılamaz
Re: Fast reportda master,detay
procedure DetailData2OnAfterPrint(Sender: TfrxComponent);
begin
if (frxDBDataGiris.refno) <> (frxDBDataSevk.gelenid) then
DetailBand.Visible := False
else
DetailBand.Visible := True;
end;
undeclared idendifier ' frxDBDataGiris'
hatası alıyorum...
fastreportda
datatree de frxDBdataGiris olarak tanımlı
bun abağlı sorguda adogiris.. oalrka tanımlı
begin
if (frxDBDataGiris.refno) <> (frxDBDataSevk.gelenid) then
DetailBand.Visible := False
else
DetailBand.Visible := True;
end;
undeclared idendifier ' frxDBDataGiris'
hatası alıyorum...
fastreportda
datatree de frxDBdataGiris olarak tanımlı
bun abağlı sorguda adogiris.. oalrka tanımlı
Re: Fast reportda master,detay
Arkadaşlar
Fast report V4.3 ü kullanıyorum , Help dosyası yok. Help dosyasını nasıl kurabilirim. Yardımcı olursanız sevinirim.
Fast report V4.3 ü kullanıyorum , Help dosyası yok. Help dosyasını nasıl kurabilirim. Yardımcı olursanız sevinirim.
-
- Üye
- Mesajlar: 330
- Kayıt: 09 Mar 2004 11:18
- Konum: Konya
- İletişim:
Re: Fast reportda master,detay
Kodu AfretPrint olayına değil beforePrint olayına yazman gerekir... AfterPrint'te zaten ilgili kayıtla ilgili bütün iş bitmiş oluyor...
şeklinde tekrar denermisin. FastReport ta "<" ve ">" işaretleri özel karakterlerdir. if komutunda "<>" ( farklı ) şeklinde bir kullanımda hata alabilirsin. bu yüzden "=" ( eşit ) değerini kontrol edip "ELSE" bloğunda kodları yazmak daha uygun olur...
http://www.fast-report.com/en/download/ ... nload.html
adresinde "Documentation" altında fast report yardım dosyasını indirebilirsin.
Kod: Tümünü seç
procedure DetailData1OnBeforePrint(Sender: TfrxComponent);
begin
if <frxDBDataGiris."refno"> = <frxDBDataSevk."gelenid"> then
DetailBand.visible := True
else
DetailBand.visible := False;
end;
http://www.fast-report.com/en/download/ ... nload.html
adresinde "Documentation" altında fast report yardım dosyasını indirebilirsin.
Re: Fast reportda master,detay
Yusuf Bey çok teşekkür ederim..
FAst report oldu..
Ben aşağıdaki 2 sorgu arasındaki bağlantıyı anlayaamdım. Bu konuyu açıklarsanız sevinirim.
Adogirisi anladım, ancak
2.sorguda adosevk ile adogiris arasındaki bağlantıyı anlayamadım.
YArdım için gönderdiğiniz linki tıklayacağım, otomatik olarak kendisi kuracakmı , fast reportda help'e tıklayınca görecekmiyim.
adogiris.Close;
adogiris.SQL.Clear;
adogiris.SQL.Add('select * from iplikgirisi ');
adogiris.SQL.Add('where refno IN (select distinct gelenid from ipliksevk2) ');
adogiris.open;
adosevk.Close;
adosevk.SQL.Clear;
adosevk.SQL.Add('select * from ipliksevk2 ');
adosevk.SQL.Add(' where gelenid IN (select distinct gelenid from ipliksevk2) ');
adosevk.Open;
FAst report oldu..
Ben aşağıdaki 2 sorgu arasındaki bağlantıyı anlayaamdım. Bu konuyu açıklarsanız sevinirim.
Adogirisi anladım, ancak
2.sorguda adosevk ile adogiris arasındaki bağlantıyı anlayamadım.
YArdım için gönderdiğiniz linki tıklayacağım, otomatik olarak kendisi kuracakmı , fast reportda help'e tıklayınca görecekmiyim.
adogiris.Close;
adogiris.SQL.Clear;
adogiris.SQL.Add('select * from iplikgirisi ');
adogiris.SQL.Add('where refno IN (select distinct gelenid from ipliksevk2) ');
adogiris.open;
adosevk.Close;
adosevk.SQL.Clear;
adosevk.SQL.Add('select * from ipliksevk2 ');
adosevk.SQL.Add(' where gelenid IN (select distinct gelenid from ipliksevk2) ');
adosevk.Open;
-
- Üye
- Mesajlar: 330
- Kayıt: 09 Mar 2004 11:18
- Konum: Konya
- İletişim:
Re: Fast reportda master,detay
Rİca ederim, faydamız dokunduysa ne mutlu
Alanları yazmadığınız için İki sorgu arasında nasıl bir bağ var ben de bilmiyorum
mesajlarınızda yazdığınız sorgulardan yola çıkarak sadece yönlendirmeye çalıştım...
Kolay gelsin
Alanları yazmadığınız için İki sorgu arasında nasıl bir bağ var ben de bilmiyorum

mesajlarınızda yazdığınız sorgulardan yola çıkarak sadece yönlendirmeye çalıştım...
Kolay gelsin