Filtrelenmiş Kayıtları QReport'a Aktarma

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
canset
Üye
Mesajlar: 151
Kayıt: 19 Haz 2005 12:38

Filtrelenmiş Kayıtları QReport'a Aktarma

Mesaj gönderen canset »

Paradox veri tabanı ve table kullanmaktayım, bir table'dan filtrelediğim kayıtları herhangi bir DBGrid'de göstermeden direkt QRep sayfasında göstermek istiyorum, ne yapmam gerekir?

Saygılar...
danaci
Üye
Mesajlar: 178
Kayıt: 24 May 2005 01:45

Mesaj gönderen danaci »

table dan verileri query ile filtreler isen sorun kalmaz.
qreportun datasetini de query olarak göster işini görecektir.
Kullanıcı avatarı
canset
Üye
Mesajlar: 151
Kayıt: 19 Haz 2005 12:38

Mesaj gönderen canset »

Query kullanmıyorum, ayrıca filtrelenmiş olan kayıtları başka herhangi bir yere kaydetmeden, filtreleme butonunun işlevi marifetiyle qrep'de göstermek istiyorum.

Örnek vermek gerekirse, iki tarih arasında A firmasına satılan kozmetik ürünlerinin listesini herhangi bir post metodu kullanmadan direkt QRep'de görüntülemek.. :shock:
danaci
Üye
Mesajlar: 178
Kayıt: 24 May 2005 01:45

Mesaj gönderen danaci »

setrange ile belli bir aralık belirlediğinizde zaten table sadece o kayıtları göstereceğinden qreport için dataset olarak bu table ı göstermeniz sorunu çözecek diye düşünüyorum. Ama ben yinede query kullanmanızda ısrar ediyorum.

en kesin olanı query kullanarak table ı filter etmeniz.
bu query ide qreport un data seti olarak gösterin sorun çözülür
query zaten kayıtları başka bir yere post etmez. Sizin o anki sorgulama sonucunuzu geçici olarak tutar. (Oracle da view gibi)
Kullanıcı avatarı
TRSoft
Kıdemli Üye
Mesajlar: 636
Kayıt: 13 Şub 2004 11:39
Konum: Konya
İletişim:

Mesaj gönderen TRSoft »

kanımca filtrelemede problemin yok..

filtreleme işlemini yaptığın procedurenin (mesela butonun onclick) altına qreportu çağırman yeterli ancak qreportun datasorcenu filtrelediğin tablonun datasource olarak seçmen gerekir..

* - Raporunun datasourcenu ayarladın
1- Filtreleme butonunu tıklatın
2- Filtreleme işlemini yaptın ve table açtın.
3- Raporunu çağırdın..

Hepsi bu kadar..
İlimle geçen bir gece,
ibadetle geçen bin geceden hayırlıdır.
HZ. MUHAMMED (S.A.)
Kullanıcı avatarı
canset
Üye
Mesajlar: 151
Kayıt: 19 Haz 2005 12:38

Mesaj gönderen canset »

Kod: Tümünü seç

Procedure TFormLISTE.Button4Click(Sender: TObject);

begin

tableSATIS3.Filter:='TARIH>='+''''+MaskEdit1.Text+''''+'and    TARIH<='+''''+MaskEdit2.Text+''''+'and FIRMA='+''''+DBLookupCombobox1.Text+''''+'and URUNGRUBU='+''''+DBLookupCombobox2.Text+'''';

tableSATIS3.Filtered:= True;

FormSATISISTATISTIK.QuickRep1.Preview;

end;
Sayın TRSoft; yukarıdaki kodu DBGrid'e bağladığım zaman herhangi bir sıkıntı yok, istediğim kayıtları filtreleyebiliyorum, yalnız yukarıdaki gibi qrep çağırıp, qrep'in datasource'unu filtreleme yapılan SATIS3 tablosunun datasource'u olarak seçtiğimde filtreleme yapmıyor, direkt SATIS3 table'ının komple dökümünü alıyor...

Button'un Onclick procedure'ünün altında sadece

Kod: Tümünü seç

formSATISISTATISTIK.QuickRep1.Preview;
yazarak Qrep çağırıp, bu arada Qrep'in BeforePrint olayına yukarıdaki Filter kodunu yazmayı denediğimde de aradan kayıt kaçırdığını gördüm..

Bu noktada tıkandım kaldım açıkçası, ya benim bilmediğim bir yordam falan var uygulamam gereken veya bir hata yapıyorum... :oops: :oops: :oops:

Filtrelemede herhangi bir sorun yok ama Qrep işi çıldırtmak üzere...
Kullanıcı avatarı
canset
Üye
Mesajlar: 151
Kayıt: 19 Haz 2005 12:38

Mesaj gönderen canset »

Kod: Tümünü seç

Procedure TFormLISTE.Button4Click(Sender: TObject);

begin

tableSATIS3.Filter:='TARIH>='+''''+MaskEdit1.Text+''''+'and    TARIH<='+''''+MaskEdit2.Text+''''+'and FIRMA='+''''+DBLookupCombobox1.Text+''''+'and URUNGRUBU='+''''+DBLookupCombobox2.Text+'''';

tableSATIS3.Filtered:= True;

FormSATISISTATISTIK.QuickRep1.Preview;

end;
Sayın TRSoft; yukarıdaki kodu DBGrid'e bağladığım zaman herhangi bir sıkıntı yok, istediğim kayıtları filtreleyebiliyorum, yalnız yukarıdaki gibi qrep çağırıp, qrep'in datasource'unu filtreleme yapılan SATIS3 tablosunun datasource'u olarak seçtiğimde filtreleme yapmıyor, direkt SATIS3 table'ının komple dökümünü alıyor...

Button'un Onclick procedure'ünün altında sadece

Kod: Tümünü seç

formSATISISTATISTIK.QuickRep1.Preview;
yazarak Qrep çağırıp, bu arada Qrep'in BeforePrint olayına yukarıdaki Filter kodunu yazmayı denediğimde de aradan kayıt kaçırdığını gördüm..

Bu noktada tıkandım kaldım açıkçası, ya benim bilmediğim bir yordam falan var uygulamam gereken veya bir hata yapıyorum... :oops: :oops: :oops:

Filtrelemede herhangi bir sorun yok ama Qrep işi çıldırtmak üzere...
Kullanıcı avatarı
TRSoft
Kıdemli Üye
Mesajlar: 636
Kayıt: 13 Şub 2004 11:39
Konum: Konya
İletişim:

Mesaj gönderen TRSoft »

İlk olarak filtereleme işlemi yaparken dört tırnak yerine QuotedStr('') kullanmanızı öneririm.

Örnek:

Kod: Tümünü seç

     Table1.Filter:='FilmTuru='+QuotedStr('MACERA')+' or FilmTuru='+QuotedStr('KOMEDİ');
Öncelikle raporu çağırmadan filtreleme işleminin gerçekleştiğini teyit edin.
Ben yukarıdaki örnekte belirttiğim tablomda bir deneme yaptım ve hemen arkasından raporu çağırdım bir problem oluşmadı.

Ayrıca filtreleme işlemini sadece rapor almak için yapıyorsanız Query kullanmanızı tavsiye ederim. Böylece Sql ile istediğiniz sonuca ulaşmak daha kolay ve hızlı olacaktır.
İlimle geçen bir gece,
ibadetle geçen bin geceden hayırlıdır.
HZ. MUHAMMED (S.A.)
Kullanıcı avatarı
canset
Üye
Mesajlar: 151
Kayıt: 19 Haz 2005 12:38

Mesaj gönderen canset »

TRSoft yazdı: Öncelikle raporu çağırmadan filtreleme işleminin gerçekleştiğini teyit edin.
Ben yukarıdaki örnekte belirttiğim tablomda bir deneme yaptım ve hemen arkasından raporu çağırdım bir problem oluşmadı.
Filtrelemede zaten sorunum yok, onu DBGrid'den gözlemledim ama DBGrid kullanmak istemiyorum, direkt QRep'e filtrelenmiş kayıtları aktarmakta sorunum var...Halledemediğim kısım, filtrelenmiş kayıtların QRep sayfasında gözlemlenmesinde???
Kullanıcı avatarı
AliErdem
Üye
Mesajlar: 157
Kayıt: 16 Nis 2006 02:57

Mesaj gönderen AliErdem »

quickreport a en baştan gözden birdaha geçir bence QuickRep bileşeninin datasource ünü table i bağladığın yani filtreleme yaptığın datasourcü göster aynı şekilde qrep bileşenin üzerindeki QRDBText bileşenlerinin datasource alanlarını kontrol et hani filtrelemede sorunun yoksa raporu yapmanda çok kolay sadece doğru datasource e bağladığından emin ol.
Cevapla