FastReport Değişken Ve Fonksiyon Kullanımı

Yazdığınız makaleleri ve üyelerimizin işine yarayacağını düşündüğünüz kodlarınızı gönderebilirsiniz. Bu foruma soru sormayın!
Cevapla
Kullanıcı avatarı
Fatih!
Kıdemli Üye
Mesajlar: 1172
Kayıt: 26 Kas 2004 10:46
Konum: Malatya
İletişim:

FastReport Değişken Ve Fonksiyon Kullanımı

Mesaj gönderen Fatih! »

diyelim adı ve soyadı diye iki alanınız var ama siz bunları raporda tek aln olarak görmek istiyorsunuz.

tarih alanından sadrece ay bilgisini rapora yansıtmak istiyorsunuz.

raporda kaç kayıt gösterilmiş veya bir parasal alanın toplamını sayfanın sonuna eklemek istiyorsunuz. tüm bunları ve daha fazlasını delphiye dokunmadan fastreport aracılığıyla kolayca yapabilirsiniz..

Daha önce anlattığım şekildeveritabanı bağlantınızı yapıp fastreportun değişkenler bölümüne geçin ve bir kaç değişken tanımmlayın.

ben örnek olarak hemen hhemen her veritabanında bulunan employee tablosunu kullanıyorum

Resim

Kod: Tümünü seç

<frxDBDataset1."FIRST_NAME">+' '+<frxDBDataset1."LAST_NAME">
yukarıdaki kodu anlatmama gerek yok sanırım.

yukarıdaki değişkeni rapora eklediğiniz zaman adı soyadı alanının birleştirilmiş halini göreceksiniz. aynı şekilde değişkene yazdığınız kodun aynısını fastreporttaki memo bileşenin içine köşeli parantezler arasında yazarakta değişkenlerle uğraşmadan aynı sonucu elde edebilirsiniz.

örnek :

Kod: Tümünü seç

[<frxDBDataset1."FIRST_NAME">+' '+<frxDBDataset1."LAST_NAME">] 
bu işlemleri sayısal ve diğer alanlar üzerindede yapabilirsiniz.ancak farklı tiplerde verileri kullanabilmek için fonksiyon sekmesinde bulunan tip dönüşüm fonksiyonnlarını kullanmalısınız.

şimdi tarih alanından yıl bilgisini alalım.

Resim

Gördüğünüz gibi fastreport fonksiyonlarıda tıpkı delphi fonksiyonları gibi kullanılıyor.

şartlı değişken kullanmı

raporda tarih bilgisinden ay bilgisini alıp 1. aysa ocak 1. aydan farklıysa diğer yazdıralım. bunun için fastreportun IFF Fonksiyonunu kullanalım.

Kod: Tümünü seç

IFF (şart,doğruysaocak,yanlışsadiğer)
bu fonksiyonunn gördüğünüz gibi 3 parametresi var. şimdi bir örnekle kullanalım.

Kod: Tümünü seç

IIF(MonthOf(<frxDBDataset1."HIRE_DATE">)=1,'Ocak',Diğe r')
burada yaptığımız fastreportun MonthOf fonksiyonnuyla Tarih alanından Ay değerini alıp dönnen değeri=birse ikinci parametre değilse 3.parametre rapora yansıyor.. şimdi burada sadece tek şartmı kullanılabiliyor diye bir soru aklınıza takılacak. tabiiki hayır.tıpkı delphideki gibi sınırsız. birden fazla şart kullanabilmek için 3.parametreye Tekrar IFF Fonksiyonunu yerleştiriyoruz.

örnek

Kod: Tümünü seç

IIF(MonthOf(<frxDBDataset1."HIRE_DATE">)=1,'Ocak',IIF( MonthOf(<frxDBDataset1."HIRE_DATE">)=2,'Şubat','Diğer' ))
örnek

Kod: Tümünü seç

IIF(MonthOf(<frxDBDataset1."HIRE_DATE">)=1,'Ocak',IIF( MonthOf(<frxDBDataset1."HIRE_DATE">)=2,'Şubat',IIF(Mon thOf(<frxDBDataset1."HIRE_DATE">)=3,'Mart','Diğer'))) 


Sistem Değişkenleri

bu değişkenler fastreportta hazır bulunur. rapora sayfa numarası,tarih,saat gibi bilgileri yazdırır. bunları kişiselleştirmek için rapora ekledikten sonra çift tıklayıp içine ister yukarıdaki gibi kodla bir şeyler yazdırın ister sabit bir metin yazın.örneğiin saati veren değişkeni rapora ekleyin. normallde içinde [TIME] yazar ve saat bilgisini verir.

içindeki metni Şuan Saat: [Time] şekinde değiştirseniz size Şuan Saat: 16.58.00 değerini verir.



Sum,AVG,Count Fonksiyonları

Kod: Tümünü seç

SUM(alanAdı,BandAdı)
Örnek

Kod: Tümünü seç

SUM(<frxDBDataset1."EMP_NO">,MasterData1) 

Kod: Tümünü seç

Count(bandadı)
Örnek

Kod: Tümünü seç

Count(MasterData1)
Avg Sum ile aynı
Kullanıcı avatarı
ender_arslanturk
Kıdemli Üye
Mesajlar: 709
Kayıt: 18 Şub 2005 03:38
Konum: İstanbul

Re: FastReport Değişken Ve Fonksiyon Kullanımı

Mesaj gönderen ender_arslanturk »

Ayrıca şöyle bir şartlı ifade de kullanılabilir.

Kod: Tümünü seç

[SUM(IIF(<Raporum."KdvOrani"> = 18, <Raporum."Tutar">, 0), MasterData1)]
Eğer Raporum tablosunun KdvOrani alanında sadece 18 yazıyor ise Tutar alanını topla gibi.

İyi akşamlar.
Cevapla