Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
Fast Report Sorunu
#1
Merhaba,
MAX , MIN gibi komutları sorunsuz kullanabiliyorum.
Max filed_name1 fonksiyonunun dönüş değerinin olduğu satırdaki başka bir değeri almam gerekiyor.

Şöyleki ;
TABLO : İsil,Soyisim,Numara..,Not..

almam gereken :
En yüksek notu alan öğrencinin : notu ve Adı
Max ile not alanının en yükseğini buluyorum
Ama en yüksek notu kimin aldığını nasıl bulabilirim
Cevapla
#2
(18-03-2019, Saat: 13:16)dkadir Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.Merhaba,
MAX , MIN gibi komutları sorunsuz kullanabiliyorum.
Max filed_name1 fonksiyonunun dönüş değerinin olduğu satırdaki başka bir değeri almam gerekiyor.

Şöyleki ;
TABLO : İsil,Soyisim,Numara..,Not..

almam gereken :
En yüksek notu alan öğrencinin : notu ve Adı
Max ile not alanının en yükseğini buluyorum
Ama en yüksek notu kimin aldığını nasıl bulabilirim

Merhabalar,

Bu işlemi SQL sorgunuz ile yapıp rapor işlemini hiç uğraşmadan direkt olarak SQL'den
dönen veriler ile yapmanız daha doğru olur kanısındayım.

Kolay gelsin.
Amaç, bilginin de/aklın da zekat'ını vermek.
Cevapla
#3
@hi_selamlar dediği gibi, öğrenci listesinden yürüyüp, where kısmında notu ilgili tarih aralığında alınmış en yüksek notu sorgulatıp en yüksek notu alan öğrenci (aynı notu birden fazla öğrenci de almış olabilir) filtrelenebilir.

örnek:
Öğrenci Tablonuz ve Öğrenci Not Hareketleri Tablonuz olmalı, ben olsam öyle yapardım.

Kod temsilidir.  Smile

SELECT ADI, SOYADI, SINIFI, NOTU
FROM OgrenciTablosu OT
LEFT JOIN OgrenciNotlariTablosu ONT  on ( OT.OgrNo = ONT.OgrNo )
WHERE  1=1
AND ONT.Notu = ( Select max(Notu) from OgrenciNotlariTablosu where SinavTar = '2019-03-01' ) 
AND ONT.SinavTar = '2019-03-01'
Saygılarımla
Muharrem ARMAN

guplouajuixjzfm15eqb.gif


Cevapla
#4
FastReport'ta raporun içinde kendiniz de fonksiyon tanımlayabilirsiniz. İlla SQL ile çözmek durumunda değilsiniz.
P.Safa:Yaşlanarak değil, yaşayarak tecrübe kazanılır.Zaman insanları değil,armutları olgunlaştırır
C.Yücel:Toprak gibi olmalısın! Ezildikçe sertleşmelisin!Seni ezenler sana muhtaç kalmalı! Hayatı sende bulmalı
S.Canan:Bildiğini zannettiğin an hiç bir şey öğrenemezsin
Bilgi uçar
WWW
Cevapla
#5
Sorunu dediğiniz şekilde çözdüm.Elbet birgün işine yarayacak olan olur düşüncesiyle çözüm yolunu anlatayım.

2 adet yeni query ekledim.
Biri MAX diğeri MİN değer için
Max ın sql kodları şöyle ;

SELECT OGR_ADI,OGR_NOTU FROM OGRENCI
WHERE OGR_NOTU=(Select MAX(OGR_NOTU) From OGRENCI)

Bunu kendinize göre değiştirirsiniz.
Min in sql kodları ;
SELECT OGR_ADI,OGR_NOTU FROM OGRENCI
WHERE OGR_NOTU=(Select MIN(OGR_NOTU) From OGRENCI)

Sonra max ve min için iki adet frxDBDataset ekledim ve birini max diğerini min querye bağladım.
Fastreportta Report-Data kısmından datasetleri ekledim mi olay halloldu Smile
Cevapla
#6
Tebrikler.

Dikkatinizi çekmek isterim, kayıtlar eklendikçe aylar yılar içinde birden fazlasında aynı notu alan öğrenci(ler) çok kere görünecektir. 

Sorgunuzu dönem, sınav tarihi, sınav adı veya varsa sınav id'si vb. biriyle filtreleyin derim. Örnekteki tarih buna gönderme idi.

Başarılarınızın devamını dilerim
Saygılarımla
Muharrem ARMAN

guplouajuixjzfm15eqb.gif


Cevapla


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  FDMemTable1.Filter Sorunu Hk. pro_imaj 4 116 14-07-2019, Saat: 00:38
Son Yorum: pro_imaj
  IPhone resim aktarma sorunu adelphiforumz 10 248 10-07-2019, Saat: 20:00
Son Yorum: SimaWB
  Fastreport barcod yazdirma sorunu TheEAK 2 189 10-07-2019, Saat: 11:10
Son Yorum: TheEAK
  Pic 18F4520 ile seri haberleşme sorunu 41linea41 9 387 01-07-2019, Saat: 19:02
Son Yorum: 41linea41
  Report Builder hk. Mericx 1 133 27-06-2019, Saat: 18:14
Son Yorum: adelphiforumz



Konuyu Okuyanlar: 1 Ziyaretçi