Fast Report'ta Toplama Yapma
Forum kuralları
Bu forum sadece yapacağınız işle alakalı doğru bileşeni bulmak içindir. Şöyle bir şey yapmam lazım, hangi bileşeni kullanıyım diyorsanız, doğru yerdesiniz.
Bu forum sadece yapacağınız işle alakalı doğru bileşeni bulmak içindir. Şöyle bir şey yapmam lazım, hangi bileşeni kullanıyım diyorsanız, doğru yerdesiniz.
-
- Üye
- Mesajlar: 53
- Kayıt: 01 Nis 2007 09:47
- Konum: DENİZLİ
Fast Report'ta Toplama Yapma
S.a. Arkadaşlar;
Fast Reportta Satırdaki veriyi Toplamak istiyorum ancak veri değişken içinde olduğundan dolayı çözemedim.
Yani [ALANADI] verisini değilde. [Memo1] içindeki verileri nasıl toplayabilirim.
Şimdiden Teşekkürler.
Fast Reportta Satırdaki veriyi Toplamak istiyorum ancak veri değişken içinde olduğundan dolayı çözemedim.
Yani [ALANADI] verisini değilde. [Memo1] içindeki verileri nasıl toplayabilirim.
Şimdiden Teşekkürler.
Re: Fast Report'ta Toplama Yapma
Sonuçta Memo1 alanındaki veri bir eğişkenden gelmiyor mu? Yoksa bu değeri Memo1 in içerisine doğrudan elinizle mi yazıyorsunuz? Doğrudan elinizle yazıyorsanız Memo1 in içerisine doğrudan 15 yazmak yerine:
gibi bir kod yazıp Memo1 in içerisine [Deger1] yazabilirsiniz.
Kod: Tümünü seç
var
Deger1: Integer;
procedure MasterData1OnBeforePrint(Sender: TfrxComponent);
begin
Deger1 := 15;
end;
C. Sunguray
csunguray at netbilisim.kom
Net Bilişim Hizmetleri
Sıradan her programcı bilgisayarın anlayabileceği kodlar yazabilir.
Sadece iyi programcılar insanların da anlayabileceği kodlar yazarlar.
Martin Fowler (http://martinfowler.com/)
csunguray at netbilisim.kom
Net Bilişim Hizmetleri
Sıradan her programcı bilgisayarın anlayabileceği kodlar yazabilir.
Sadece iyi programcılar insanların da anlayabileceği kodlar yazarlar.
Martin Fowler (http://martinfowler.com/)
-
- Üye
- Mesajlar: 53
- Kayıt: 01 Nis 2007 09:47
- Konum: DENİZLİ
Re: Fast Report'ta Toplama Yapma
@csunguray merhabalar;
Memo1'deki değer Memo2 ile Memo3 'ün hesaplanması sonucu ortaya çıkan değeri içermektedir.
Örneğin:
Ürün | B. Fiyatı | Miktarı | Toplam
Elma - 2.00 TL - 5 KG - 10 TL
Armut | 2,5 TL - 20 KG - 50 TL
...
...
...
_____________________________
TOPLAM :60 TL
Değer MasterDataya bağlı tablodan gelse sorun deilde Memonun içinden gelince SUM fonksiyonunu kullanamadım hesaplayamıyor. Toplam bir sonuç veriyor ama String ve integer değer olmasından mı yok başka bir sıkıntımı çözemedim.
Başına gelen var mı acaba veya bu şekilde birşey yazan ..
Memo1'deki değer Memo2 ile Memo3 'ün hesaplanması sonucu ortaya çıkan değeri içermektedir.
Örneğin:
Ürün | B. Fiyatı | Miktarı | Toplam
Elma - 2.00 TL - 5 KG - 10 TL
Armut | 2,5 TL - 20 KG - 50 TL
...
...
...
_____________________________
TOPLAM :60 TL
Değer MasterDataya bağlı tablodan gelse sorun deilde Memonun içinden gelince SUM fonksiyonunu kullanamadım hesaplayamıyor. Toplam bir sonuç veriyor ama String ve integer değer olmasından mı yok başka bir sıkıntımı çözemedim.
Başına gelen var mı acaba veya bu şekilde birşey yazan ..
Re: Fast Report'ta Toplama Yapma
[SUM(<DATASETADI."TOPLANACAK_ALAN">,DetailData1)]
amatör küme programcı 

Re: Fast Report'ta Toplama Yapma
İyi de Memo2 ve Memo3 ün içerisindeki değerler nedir? Bir DB den mi geliyor? Yoksa elinizle mi yazıyorsunuz?volkancesur yazdı:Memo1'deki değer Memo2 ile Memo3 'ün hesaplanması sonucu ortaya çıkan değeri içermektedir.
Bir değer Memo'nun içinden gelmez. Olsa olsa Memo'nun içine gider.volkancesur yazdı:Değer MasterDataya bağlı tablodan gelse sorun deilde Memonun içinden gelince
Şöyle yapalım. Memo2 ve Memo3 ün değerlerinin bir DB'den geldiğini varsayarsak (Çünkü bir türlü senden öğrenemedik) ve DB değişken adlarının FIYAT ve MIKTAR olduğunu varsayarsak:
Kod: Tümünü seç
var
Toplam: Double;
procedure MasterData1OnBeforePrint(Sender: TfrxComponent);
begin
Toplam := <MalzemeDB."MIKTAR"> * <MalzemeDB."FIYAT">;
end;
C. Sunguray
csunguray at netbilisim.kom
Net Bilişim Hizmetleri
Sıradan her programcı bilgisayarın anlayabileceği kodlar yazabilir.
Sadece iyi programcılar insanların da anlayabileceği kodlar yazarlar.
Martin Fowler (http://martinfowler.com/)
csunguray at netbilisim.kom
Net Bilişim Hizmetleri
Sıradan her programcı bilgisayarın anlayabileceği kodlar yazabilir.
Sadece iyi programcılar insanların da anlayabileceği kodlar yazarlar.
Martin Fowler (http://martinfowler.com/)
-
- Üye
- Mesajlar: 53
- Kayıt: 01 Nis 2007 09:47
- Konum: DENİZLİ
Re: Fast Report'ta Toplama Yapma
@csunguray Merhabalar;
Aynen sizin dediğiniz gibi yaptığımda Sözdizimi Hatası Veriyor
Aynen sizin dediğiniz gibi yaptığımda Sözdizimi Hatası Veriyor

Re: Fast Report'ta Toplama Yapma
Sürekli yetersiz bilgi veriyorsunuz. Ne yazdığınızı buraya yazın ki ona bakıp hatanın nerede olduğunu bulmaya çalışalım.
C. Sunguray
csunguray at netbilisim.kom
Net Bilişim Hizmetleri
Sıradan her programcı bilgisayarın anlayabileceği kodlar yazabilir.
Sadece iyi programcılar insanların da anlayabileceği kodlar yazarlar.
Martin Fowler (http://martinfowler.com/)
csunguray at netbilisim.kom
Net Bilişim Hizmetleri
Sıradan her programcı bilgisayarın anlayabileceği kodlar yazabilir.
Sadece iyi programcılar insanların da anlayabileceği kodlar yazarlar.
Martin Fowler (http://martinfowler.com/)
-
- Üye
- Mesajlar: 53
- Kayıt: 01 Nis 2007 09:47
- Konum: DENİZLİ
Re: Fast Report'ta Toplama Yapma

Yaptığım İşlem Ekranda görüldüğü gibi . Sadece Toplamların Altına Toplam Alanının Altına Değerleri toplamak istiyorum.
Bu Şekilde Anlaşılır Umarım.
Şimdiden Teşekkürler
Re: Fast Report'ta Toplama Yapma
Tek bir yere o kadar uzun bir formül yazmak yerine formülü parçalayarak kod içerisine yayalım.
Şimdi Toplam sahasına da tek yazacağımız [Toplam] olmalı. Summary bandında alt (genel) toplamı aldırırken alt toplam memo nesnesinin içine alttakini yazarız.
Kod: Tümünü seç
var
Toplam: Double;
procedure MasterData1OnBeforePrint(Sender: TfrxComponent);
begin
if <FirmaTeklifListesi."PARABIRIMI"> = '€' then
begin
Toplam := <FirmaTeklifListesi."TEKLIFFIYATI"> * <EURO> * <FirmaTeklifListesi."STOK">;
end else
begin
if <FirmaTeklifListesi."PARABIRIMI"> = '$' then
begin
Toplam := <FirmaTeklifListesi."TEKLIFFIYATI"> * <DOLAR> * <FirmaTeklifListesi."STOK">;
end else
begin
Toplam := <FirmaTeklifListesi."TEKLIFFIYATI"> * 1 * <FirmaTeklifListesi."STOK">;
end;
end;
end;
Kod: Tümünü seç
[SUM(<Toplam>, MasterData1)]
C. Sunguray
csunguray at netbilisim.kom
Net Bilişim Hizmetleri
Sıradan her programcı bilgisayarın anlayabileceği kodlar yazabilir.
Sadece iyi programcılar insanların da anlayabileceği kodlar yazarlar.
Martin Fowler (http://martinfowler.com/)
csunguray at netbilisim.kom
Net Bilişim Hizmetleri
Sıradan her programcı bilgisayarın anlayabileceği kodlar yazabilir.
Sadece iyi programcılar insanların da anlayabileceği kodlar yazarlar.
Martin Fowler (http://martinfowler.com/)
-
- Üye
- Mesajlar: 53
- Kayıt: 01 Nis 2007 09:47
- Konum: DENİZLİ
Re: Fast Report'ta Toplama Yapma
Aynı İşlemleri Yaptım ama Toplam Alanı Boş geliyor. Kontrol Etmem gereken başka birşey mi var acaba ?
Re: Fast Report'ta Toplama Yapma
<EURO> ve <DOLAR> değişkenlerinin içeriği nereden geliyor?
C. Sunguray
csunguray at netbilisim.kom
Net Bilişim Hizmetleri
Sıradan her programcı bilgisayarın anlayabileceği kodlar yazabilir.
Sadece iyi programcılar insanların da anlayabileceği kodlar yazarlar.
Martin Fowler (http://martinfowler.com/)
csunguray at netbilisim.kom
Net Bilişim Hizmetleri
Sıradan her programcı bilgisayarın anlayabileceği kodlar yazabilir.
Sadece iyi programcılar insanların da anlayabileceği kodlar yazarlar.
Martin Fowler (http://martinfowler.com/)
-
- Üye
- Mesajlar: 53
- Kayıt: 01 Nis 2007 09:47
- Konum: DENİZLİ
Re: Fast Report'ta Toplama Yapma

Bu Şekilde Formdaki Veriyi Rapor Ekranına Taşıyorum.
Re: Fast Report'ta Toplama Yapma
Eğer Form dedğiğiniz şey bir Delphi Formu ise bu değerleri raporun içerisine nasıl gönderiyorsunuz? Bunu yapmak için Delphi içerisinden raporun OnGetValue özelliğne:
gibi bir kod ekleyin... Hatta öncelikle <EURO> ve <DOLAR> değişkenlerini rapordaki formülden çıkarıp raporu o şekilde deneyin ve sorunun o değişkenlerden kaynaklanıp kaynaklanmadığından emin olun.
Kod: Tümünü seç
procedure TFormStokR.ReportStokListesiGetValue(const VarName: String;
var Value: Variant);
begin
inherited;
if VarName = 'EURO' then
begin
Value := FloatToStr(Edit1.Text);
end;
if VarName = 'DOLAR' then
begin
Value := FloatToStr(Edit2.Text);
end;
end;
C. Sunguray
csunguray at netbilisim.kom
Net Bilişim Hizmetleri
Sıradan her programcı bilgisayarın anlayabileceği kodlar yazabilir.
Sadece iyi programcılar insanların da anlayabileceği kodlar yazarlar.
Martin Fowler (http://martinfowler.com/)
csunguray at netbilisim.kom
Net Bilişim Hizmetleri
Sıradan her programcı bilgisayarın anlayabileceği kodlar yazabilir.
Sadece iyi programcılar insanların da anlayabileceği kodlar yazarlar.
Martin Fowler (http://martinfowler.com/)