raporda group içinde group olur mu?
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
-
- Üye
- Mesajlar: 216
- Kayıt: 14 Şub 2004 03:13
- Konum: Gebze
- İletişim:
raporda group içinde group olur mu?
Benim yapmak istediğim bir araca ait taşımaları gruplandırarkr göstermek ve alt toplam almak. Araçları ARAÇ adlı,Taşınan yükleri YUK adlı tabloda tanımladım. Örneğin Toplu araç raporunda
1. 34 DNM 34
1. TAŞ
01.02.2004 Soforadi Miktar Açıklama
05.02.2004 Soforadi Miktar Açıklama
2. ÇAKIL
06.02.2004 Soforadi Miktar Açıklama
10.02.2004 Soforadi Miktar Açıklama
2. 34 MND 45
1. TAŞ
03.01.2004 Soforadi Miktar Açıklama
05.03.2004 Soforadi Miktar Açıklama
2. ÇAKIL
06.02.2004 Soforadi Miktar Açıklama
10.02.2004 Soforadi Miktar Açıklama
Raporda bu şekilde göstermek istiyorum. Yardımcı olabilirseniz sevinirim.
1. 34 DNM 34
1. TAŞ
01.02.2004 Soforadi Miktar Açıklama
05.02.2004 Soforadi Miktar Açıklama
2. ÇAKIL
06.02.2004 Soforadi Miktar Açıklama
10.02.2004 Soforadi Miktar Açıklama
2. 34 MND 45
1. TAŞ
03.01.2004 Soforadi Miktar Açıklama
05.03.2004 Soforadi Miktar Açıklama
2. ÇAKIL
06.02.2004 Soforadi Miktar Açıklama
10.02.2004 Soforadi Miktar Açıklama
Raporda bu şekilde göstermek istiyorum. Yardımcı olabilirseniz sevinirim.
takıldıgınız nokta nedir SQL'i yazmak mi yoksa delphi tarafinda bunu yapmak mi?
Eger PLAKA, TASINAN_MAL, TARIH,SOFOR_ADI, MIKTAR,ACIKLAMA sutunlarında olusan bir query yazarsaniz. Tabi ilk 3 alana gore de siralamaniz gerekiyor...
Delphi tarafinda da PLAKA 'ay gore bir grup PLAKA+TASINAN_MAL'a gore de bir grup tanımlayarak yapabilirsiniz...
Eger PLAKA, TASINAN_MAL, TARIH,SOFOR_ADI, MIKTAR,ACIKLAMA sutunlarında olusan bir query yazarsaniz. Tabi ilk 3 alana gore de siralamaniz gerekiyor...
Delphi tarafinda da PLAKA 'ay gore bir grup PLAKA+TASINAN_MAL'a gore de bir grup tanımlayarak yapabilirsiniz...
-
- Üye
- Mesajlar: 216
- Kayıt: 14 Şub 2004 03:13
- Konum: Gebze
- İletişim:
group içi group
takıldığım nokta rapor hazırlarken subdetail altına bir subdetail koyarak qreportta araçplaka gruplandırmasının altında yuke göre de gruplandırarak aracın hangi yuku ne kadar taşıdığının toplamını almak.
acaba şöyle olabilirmi? yuk tablosunun masterine araç tablosunu göstersem olabilir mi? birde nasıl bir kod yazabileceğimi anlatabilirseniz sevinirim.
acaba şöyle olabilirmi? yuk tablosunun masterine araç tablosunu göstersem olabilir mi? birde nasıl bir kod yazabileceğimi anlatabilirseniz sevinirim.
-
- Üye
- Mesajlar: 216
- Kayıt: 14 Şub 2004 03:13
- Konum: Gebze
- İletişim:
delphi içindeki örneği inceledim. ancak sql'deki mantığı benim programıma nasıl uyarlayacağımı çözemedim.
master sql
select c.company, o.orderno, o.custno, o.ItemsTotal
from orders o join customer c on o.custno=c.custno
where c.company LIKE 'A%'
order by c.company, o.orderno
detail sql
SELECT OrderNo, Qty, ItemNo
FROM ITEMS I
WHERE (i.OrderNo = :OrderNo)
ORDER BY OrderNo, ItemNo
benim tablolarım şu şekilde
ARAÇTablosu : Aracno, AracPlaka
YUKTablosu : Yukno, Yukadi, Ucreti
TAŞIMATablosu : Aracno, Yukno, Sevkyerno, Tarih, Aciklama
Bu tablolarla benzer bir sql tablosuna örnek verebilir misiniz?
master sql
select c.company, o.orderno, o.custno, o.ItemsTotal
from orders o join customer c on o.custno=c.custno
where c.company LIKE 'A%'
order by c.company, o.orderno
detail sql
SELECT OrderNo, Qty, ItemNo
FROM ITEMS I
WHERE (i.OrderNo = :OrderNo)
ORDER BY OrderNo, ItemNo
benim tablolarım şu şekilde
ARAÇTablosu : Aracno, AracPlaka
YUKTablosu : Yukno, Yukadi, Ucreti
TAŞIMATablosu : Aracno, Yukno, Sevkyerno, Tarih, Aciklama
Bu tablolarla benzer bir sql tablosuna örnek verebilir misiniz?
- QuickReport bu SQL sorgusunu sizin için yapabiliyor... Ben de işçi puantaj olayında benzeri bir çalışma yapmıştım... Orda da
- 1 Adet Group-Band
- 1 Adet Detail-Band
- 1 Adet child-Band (Detail-Band'a bağlanacak)
- QuickReport'da GroupHeader ile buna link edilecek band'lar yardımıyla çözüm sunabilirsiniz... Hala çözemezseniz, Ankara'ya döndüğümde anlatmaya çalışırım...
Kod: Tümünü seç
Ülke
Şehir-Şantiye
İşçi Adı - Çalıştığı saat - Fazla mesai - Hakediş
İşçi Adı - Çalıştığı saat - Fazla mesai - Hakediş
İşçi Adı - Çalıştığı saat - Fazla mesai - Hakediş
- 1 Adet Detail-Band
- 1 Adet child-Band (Detail-Band'a bağlanacak)
- QuickReport'da GroupHeader ile buna link edilecek band'lar yardımıyla çözüm sunabilirsiniz... Hala çözemezseniz, Ankara'ya döndüğümde anlatmaya çalışırım...
-
- Üye
- Mesajlar: 216
- Kayıt: 14 Şub 2004 03:13
- Konum: Gebze
- İletişim:
Selam...
Bir QuickReport sayfasında aşağıdaki bandları koy ve yanında takip eden şekilde Masterlarına bağla... Bu bağlama şekli ile QuickReport senin için query oluşturup ilgili gruplara ayırıp raporlayacaktır...
Title'da : Plaka KayNo ve Plaka ID başlıkları QRLabel olsun...
Detail'de : Plaka KayNo ile Plaka ID için QRDBText tanımla...
GroupHeader'da : Taşınan Malzeme Kayno ve Taşınan Malzeme QRLabel olsun.
SubDetail'de : Taşınan Malzeme Kayno ve Taşınan Malzeme QRDBText tanımla...
GroupHeader'da : Tarih, SoforAdı, Miktar, Açıklama başlıkları için QRLabel koy...
SubDetail'de : Tarih, SoforAdı, Miktar, Açıklama başlıkları için QRDBText tanımla...
- İstediğin sonuçları alırsın....
- 1 Sayfayı geçen sonuçların varsa baştaki title olyını da bir grup'a alman gerekir... Yoksa ilk sayfa dışında bu ana başlığı göremezsin... Bende bu gerekmediğinde sadece Title ile halletmeyi yeğlemiştim.
- Ne de olsa bir sorgu bile daha az yaptırmak hız kazancı demektir...

Bir QuickReport sayfasında aşağıdaki bandları koy ve yanında takip eden şekilde Masterlarına bağla... Bu bağlama şekli ile QuickReport senin için query oluşturup ilgili gruplara ayırıp raporlayacaktır...
Kod: Tümünü seç
Title-TitleBand1 (TQRBand, BandType = rbTitle)
Detail-QRBand1 (TQRBand, Band Type = rbDetail)
GroupHeader-QRGroup1 (TQRGroup) (Master:QRSubDetail1)
SubDetail-QRSubDetail1 (TQRSubDetail) (Master:QuickRep1)
GroupHeader-QRGroup2 (TQRGroup) (Master:QRSubDetail2)
SubDetail-QRSubDetail2 (TQRSubDetail) (Master:QRSubDetail1)
Detail'de : Plaka KayNo ile Plaka ID için QRDBText tanımla...
GroupHeader'da : Taşınan Malzeme Kayno ve Taşınan Malzeme QRLabel olsun.
SubDetail'de : Taşınan Malzeme Kayno ve Taşınan Malzeme QRDBText tanımla...
GroupHeader'da : Tarih, SoforAdı, Miktar, Açıklama başlıkları için QRLabel koy...
SubDetail'de : Tarih, SoforAdı, Miktar, Açıklama başlıkları için QRDBText tanımla...
- İstediğin sonuçları alırsın....
- 1 Sayfayı geçen sonuçların varsa baştaki title olyını da bir grup'a alman gerekir... Yoksa ilk sayfa dışında bu ana başlığı göremezsin... Bende bu gerekmediğinde sadece Title ile halletmeyi yeğlemiştim.
- Ne de olsa bir sorgu bile daha az yaptırmak hız kazancı demektir...

-
- Üye
- Mesajlar: 216
- Kayıt: 14 Şub 2004 03:13
- Konum: Gebze
- İletişim:
-
- Üye
- Mesajlar: 216
- Kayıt: 14 Şub 2004 03:13
- Konum: Gebze
- İletişim:
Şimdi, master detail ilişkisini tablolarla yaptıktan print ediyorsunuz.. QuickReport sizin yaptığınız sorgu çerçevesinde görüntüleme yapar...
Yani ekrana üç adet DBGrid koyun..
1. Master
2. Slave
3. Slave Master edilmiş ikinci derece slave
Bu üçlü grubun doğru çalıştığını görün ve sonra bu DbGridlerin DataSource'larının DataSet'lerini ilgili QRDBText'lere atayın... Sorunsuz olarak raporlarınızı gruplu bir şekilde göreceksiniz...
Yani ekrana üç adet DBGrid koyun..
1. Master
2. Slave
3. Slave Master edilmiş ikinci derece slave
Bu üçlü grubun doğru çalıştığını görün ve sonra bu DbGridlerin DataSource'larının DataSet'lerini ilgili QRDBText'lere atayın... Sorunsuz olarak raporlarınızı gruplu bir şekilde göreceksiniz...
-
- Üye
- Mesajlar: 216
- Kayıt: 14 Şub 2004 03:13
- Konum: Gebze
- İletişim:
@must_sargin
- Bu gruplama metodunu kavramanız için çaba sarfetmelisiniz...
- Nasıl gruplamdığını detaylıca açıklamaya çalıştım... Artık bir grup nasıl oluşuyor, bağlantı yapıldığında grupların yerleri nasıl değişiyor gördünüz...
- Baskıyı kodlamadan önce, her proje başlangıcında yapılması gereken gibi, kağıt üzerinde şemanızı çizin, sonra da bunu ilk verdiğim cevaptaki gibi satır satır gerkenler ve vereceğim isimler şeklinde kurgulayın...
- Olmazsa QuickReport sayfasını silin 0'dan yeniden tasarlayın...
- Eğer veritabanı bağlantılarınız bahsettiğiniz tarzda gruplamaya müsaade etmiyorsa önce veritabanınızı buna uygun hale getirin... Ya da işin kısayolunu kullanmak için sadece Baskıya özel veritabanı oluşturup, raporunuzu buraya yansıtın ve QuickReport ile bu baskı veritabanını kağıda yansıtın...
- Başarılar...
- Bu gruplama metodunu kavramanız için çaba sarfetmelisiniz...
- Nasıl gruplamdığını detaylıca açıklamaya çalıştım... Artık bir grup nasıl oluşuyor, bağlantı yapıldığında grupların yerleri nasıl değişiyor gördünüz...
- Baskıyı kodlamadan önce, her proje başlangıcında yapılması gereken gibi, kağıt üzerinde şemanızı çizin, sonra da bunu ilk verdiğim cevaptaki gibi satır satır gerkenler ve vereceğim isimler şeklinde kurgulayın...
- Olmazsa QuickReport sayfasını silin 0'dan yeniden tasarlayın...
- Eğer veritabanı bağlantılarınız bahsettiğiniz tarzda gruplamaya müsaade etmiyorsa önce veritabanınızı buna uygun hale getirin... Ya da işin kısayolunu kullanmak için sadece Baskıya özel veritabanı oluşturup, raporunuzu buraya yansıtın ve QuickReport ile bu baskı veritabanını kağıda yansıtın...
- Başarılar...