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ı: 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.
YouTube Delphi Tips
"Yaşlanarak değil, yaşayarak tecrübe kazanılır. Zaman insanları değil, armutları olgunlaştırır" Peyami Safa
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
  Fast Report Araya Bağımsız Sayfa Ekleme bydelphi 1 464 02-01-2024, Saat: 23:21
Son Yorum: hi_selamlar
  DbGrid'de Seçili Satırların Fast Reportta Raporlanması [ÇÖZÜLDÜ] bünyamin68 4 637 17-12-2023, Saat: 15:08
Son Yorum: bünyamin68
Star Fast Report Çift sayfa tasarımı delphicim 7 660 29-11-2023, Saat: 23:54
Son Yorum: delphicim
  Cas Terazi Veri gönderimi Delphi sürüm sorunu KUNTAY 12 4.300 08-11-2023, Saat: 00:06
Son Yorum: berkan
  Fast Report ardak 2 471 27-10-2023, Saat: 20:42
Son Yorum: ardak



Konuyu Okuyanlar: 1 Ziyaretçi