Filtrelenmiş Kayıtları QReport'a Aktarma
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
Filtrelenmiş Kayıtları QReport'a Aktarma
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...
Saygılar...
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..
Ö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..

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)
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)
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..
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.)
ibadetle geçen bin geceden hayırlıdır. HZ. MUHAMMED (S.A.)
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;
Button'un Onclick procedure'ünün altında sadece
Kod: Tümünü seç
formSATISISTATISTIK.QuickRep1.Preview;
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...



Filtrelemede herhangi bir sorun yok ama Qrep işi çıldırtmak üzere...
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;
Button'un Onclick procedure'ünün altında sadece
Kod: Tümünü seç
formSATISISTATISTIK.QuickRep1.Preview;
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...



Filtrelemede herhangi bir sorun yok ama Qrep işi çıldırtmak üzere...
İlk olarak filtereleme işlemi yaparken dört tırnak yerine QuotedStr('') kullanmanızı öneririm.
Örnek:
Ö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.
Örnek:
Kod: Tümünü seç
Table1.Filter:='FilmTuru='+QuotedStr('MACERA')+' or FilmTuru='+QuotedStr('KOMEDİ');
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.)
ibadetle geçen bin geceden hayırlıdır. HZ. MUHAMMED (S.A.)
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???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ı.
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.