Delphi Dünyası Facebook'ta

Kodbank İndir

! CODEBANK 2012 !

İNDİRMEK&DETAYLI BİLGİ ALMAK İÇİN BURAYI TIKLAYINIZ.

Gönderen Konu: FastReportla tek tablodan veri...  (Okunma sayısı 371 defa)

0 Üye ve 1 Ziyaretçi konuyu incelemekte.

Çevrimdışı Aktolgali

  • Delphi 4 Level 4
  • ****
  • İleti: 183
  • Rep: +2/-0
FastReportla tek tablodan veri...
« : 23 Ocak 2012 18:46:30 »
Herkese merhaba;
FastReport ile tek tablodan master/detail yapıya benzeyen bir rapor almak istiyorum. (Bu ne be ben bile anlamadım)
Şöyleki;
Bir tabloda Tarih alanım ve ad soyad v.s. gibi alanlarım var.
Aynı tarihte farklı isimler kaydedilmiş işte benim rapor sorunum burada başlıyor.
Aynı tarih başlığı altında isimlerin (sanki detay) tek tek listelenmesini istiyorum.
Yani raporda görüntü şöyle olmalı
Kod: [Seç]
05.01.2012
               ali
               mehmet
               veli
               süleyman
--------------------------------------------------
06.01.2012
              Sabri
              vecihi
              kayhan

ama tablomda şu şekilde
Kod: [Seç]
05.01.2012 ali
05.01.2012 mehmet
05.01.2012 veli
05.01.2012 süleyman
06.01.2012 sabri
06.01.2012 vecihi
06.01.2012 kayhan

umarım anlatabilmişimdir...

Eyvallah...

Çevrimdışı sheshman

  • Delphi 2007 Level 1
  • *
  • İleti: 501
  • Rep: +10/-0
  • Cinsiyet: Bay
  • So others may live...
    • http://www.sheshman.com
Ynt: FastReportla tek tablodan veri...
« Yanıtla #1 : 23 Ocak 2012 23:23:43 »
fastreport'un datayı çekme özelliği senin query'nin özelliğine bağlıdır yani query hangi bilgiyi isterse db den raporda onu gösterir, şöyle yapabilirsin,raporu sağlayan query'ne şu sql kodunu işletttikten sonra raporu prewiev edersen bence olacaktır

Kod:  (Unknown Language)
  1. adoquery1.close;
  2. adoquery1.sql.clear;
  3. adoquery1.sql.add('select * from tablo_adi group by tarih');
  4. adoquery1.open;
  5.  

bu kod iel tarihi aynı olan kayıtları grupla demiş oluyorsun böylece sorgu veri tabanında her bir tarih altındaki kullanıcıları gruplu şekilde isteyecektir.
Dünya sizden nefret ederse sizden önce benden nefret etmiş olduğunu bilin. Dünyadan olsaydınız dünya kendisine ait olanı severdi.
http://www.sheshman.com

Çevrimdışı atmazg

  • Delphi 6 Level 1
  • *
  • İleti: 257
  • Rep: +0/-0
  • Delphi Sürümü: Delphi 6, Delphi 2010, Delphi XE2
Ynt: FastReportla tek tablodan veri...
« Yanıtla #2 : 24 Ocak 2012 09:41:58 »
bunu denemek lazım. ama şöylede yapabilirsiniz diye düşünüyorum. tarihe göre listelettikten sonra masterdata'daki tarih alanına sağ tıklarsanız Tekrarlanan Değerleri Gizle diye birşey görecekseniz. bunu seçtiğinizde alt alta gelen tarihler görünmeyecektir. taki yeni bir tarihe kadar.

Çevrimdışı Aktolgali

  • Delphi 4 Level 4
  • ****
  • İleti: 183
  • Rep: +2/-0
Ynt: FastReportla tek tablodan veri...
« Yanıtla #3 : 24 Ocak 2012 12:55:22 »
fastreport'un datayı çekme özelliği senin query'nin özelliğine bağlıdır yani query hangi bilgiyi isterse db den raporda onu gösterir, şöyle yapabilirsin,raporu sağlayan query'ne şu sql kodunu işletttikten sonra raporu prewiev edersen bence olacaktır

Kod:  (Unknown Language)
  1. adoquery1.close;
  2. adoquery1.sql.clear;
  3. adoquery1.sql.add('select * from tablo_adi group by tarih');
  4. adoquery1.open;
  5.  

bu kod iel tarihi aynı olan kayıtları grupla demiş oluyorsun böylece sorgu veri tabanında her bir tarih altındaki kullanıcıları gruplu şekilde isteyecektir.
Ama group by kullanırken tüm alanları çekmek mümkün değildi diye hatırlıyorum. Yanlışsam düzeltin lütfen...

bunu denemek lazım. ama şöylede yapabilirsiniz diye düşünüyorum. tarihe göre listelettikten sonra masterdata'daki tarih alanına sağ tıklarsanız Tekrarlanan Değerleri Gizle diye birşey görecekseniz. bunu seçtiğinizde alt alta gelen tarihler görünmeyecektir. taki yeni bir tarihe kadar.
masterdata yok sadece tek tablo dolayısıyla o dediğiniz olanaksız. (Eğer söylediğinizi doğru anladıysam).

Eyvallah..

Çevrimdışı sheshman

  • Delphi 2007 Level 1
  • *
  • İleti: 501
  • Rep: +10/-0
  • Cinsiyet: Bay
  • So others may live...
    • http://www.sheshman.com
Ynt: FastReportla tek tablodan veri...
« Yanıtla #4 : 24 Ocak 2012 14:48:21 »
hangi db yi kullandığına göre değişir * yerine kullanacağın alanlarıda girebilirsin.
Dünya sizden nefret ederse sizden önce benden nefret etmiş olduğunu bilin. Dünyadan olsaydınız dünya kendisine ait olanı severdi.
http://www.sheshman.com

Çevrimdışı atmazg

  • Delphi 6 Level 1
  • *
  • İleti: 257
  • Rep: +0/-0
  • Delphi Sürümü: Delphi 6, Delphi 2010, Delphi XE2
Ynt: FastReportla tek tablodan veri...
« Yanıtla #5 : 25 Ocak 2012 08:18:41 »
fastreportun  rapor dizayn ederken masterdata band kullanmıyormusunuz ?

fastreport ıcerısınden masterdata band kullanmadan listeleme yapabileceğinizi sanmıyorum. tabi benimde bilmediğim bir nokta yoksa.

Çevrimdışı efkar.esinti

  • Delphi 1 Level 1
  • *
  • İleti: 1
  • Rep: +0/-0
  • Delphi Dünyası
  • Delphi Sürümü: Delphi 2010
Ynt: FastReportla tek tablodan veri...
« Yanıtla #6 : 14 Nisan 2012 00:19:31 »
raporuna bi tane GroupHeader ekle  sonra üzerinde sağ tıkla   edit   ten  data field   datasetini seç  sağ tarftada tarini seç  istediğin raporu alabilirsin. 

not:GroupHeader   masterdatanın üstünde olmasına dikkat et