dbgirddeki sonucu bir alana aktarma

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
aydogan46
Üye
Mesajlar: 115
Kayıt: 11 Haz 2003 02:59
Konum: ankara
İletişim:

dbgirddeki sonucu bir alana aktarma

Mesaj gönderen aydogan46 »

Merhabalar;
Arkadaşlar, yazmadan önce bayagı bi aradım ama benim istediğim sonucu bulamadım.
Sorunum şu, bir tabloda kişilerin yıl içinde yapmış oldukları alışverişler var. bana bunların toplamı lazım. toplamlarını dbgrid üzerine getirtiyorum örnke kod.
select adisoyadi, sum(borc) as Borclari from satis order by adisoyadi
buraya kadar sorun yok. sorun dbgrid üzerinde hesaplanmış olarak bulunan borclari alanını nasıl bir değişkene veya veritabanına yazdırabilirim? yardımlarınız için şimdiden teşekkürler
Kullanıcı avatarı
kadirkurtoglu
Üye
Mesajlar: 748
Kayıt: 22 May 2005 01:20
Konum: Uzakta Görünen Tepeden...

Mesaj gönderen kadirkurtoglu »

select adisoyadi, sum(borc) as Borclari from satis order by adisoyadi
yukarıdaki sql cümleciğinde toplamı alınan BORC alanının değişken olarak değeri ne ise BORCLARI alanı aynı değişken değerini alır.

ben Currency olduğunu varsayıyorum

Kod: Tümünü seç

update TABLO set
BORCTOPLAMI =:BORCLARI
şeklinde sql cümlesiye istediğin tabloya yazdırırsın

yok ben var olan bir alana değilde yeni bir kayıt açacam dersen

Kod: Tümünü seç

insert into TABLO(BORCTOPLAM)
values
(:BORCLARI) 
şeklinde bir sql ifadesi kullanabilirsin.

direkt atacam dersen

Kod: Tümünü seç

TabloBORCTOPLAMI.AsCurrency := ToplamQueryBORCLARI.AsCurrency;
kodu ile aktarırsın.
Bir mum, yanındaki mumları tutuşturmakla,
ışığında hiç bir şey kaybetmez.

Mevlana

OS win.10, IDE Delphi 10.3, RDBMS Firebird and MSSQL, BROWSER Chrome
Glen
Üye
Mesajlar: 277
Kayıt: 12 Eki 2005 11:58

Mesaj gönderen Glen »

Yalnis anlamis olabilirim ancak dogru anladiysam eger..

2 Tablonuz olsun

1) SATIS
2) TOPLAMLAR

Kod: Tümünü seç

INSERT INTO TOPLAMLAR (TOPLAM)
VALUES ((SELECT SUM(BORC) FROM SATIS))
aydogan46
Üye
Mesajlar: 115
Kayıt: 11 Haz 2003 02:59
Konum: ankara
İletişim:

Mesaj gönderen aydogan46 »

hocam çok teşekkür ederim, sayenizde başka bir tabloya kaydetmeyi başardım. Ancak bir değişkene alabilsem çok daha iyi olacak. Çünkü Memur maaş programı yapıyorum. diğer tüm hesaplamalar tamam. bu vergi matrahında gerekli oldu. bir tabloda katsayılar var, bir tabloda da kişisel bilgiler
önce katsayılar tablosunda tek kayıt olduğu için önce onu değişkenlere aktarıyorum. sonra query ile döngü kuruyorum table sonuna kadar tüm kayıtları getiriyor hesaplamalar yapıyor ve hesaplananlar diye başka bir tabloya kayıt eiyor. burda gerekli olan hesaplananlar tablosunda matrah toplamı diye birşey var. buda maaş yaptığımız tarihe kadar olan vergi matrahlarını toplayıp matrah toplmaına aktaracak. acaba nasıl bir yol izlesem, belki biraz ugraşınca yardımcı olduğunuz kodlar işe yarar ancak tam bir mantık oturtamadım
.fikrileriniz benim içinönemli olacak. teşekkürler
Kullanıcı avatarı
kadirkurtoglu
Üye
Mesajlar: 748
Kayıt: 22 May 2005 01:20
Konum: Uzakta Görünen Tepeden...

Mesaj gönderen kadirkurtoglu »

Kod: Tümünü seç

procedure .....
var
degisken : Float;
begin
degisken := ToplamQueryBORCLARI.AsCurrency;
end;
begin bloğunun üzerinde var bloğu açarak istediğin kadar değişken tanımlayabilirsin. değişkenlerle işlem yapabilirsin. Kolay Gelsin...
aydogan46
Üye
Mesajlar: 115
Kayıt: 11 Haz 2003 02:59
Konum: ankara
İletişim:

Mesaj gönderen aydogan46 »

hocam haklısında , bu kayıtlarda group by olacak
yani table1deki adisoyadı ile hesaplama yaptığı alandaki adisoyadi alanları aynı olacak
yani tabledki tüm alanları değil de o grup grup yapacak
Kullanıcı avatarı
kadirkurtoglu
Üye
Mesajlar: 748
Kayıt: 22 May 2005 01:20
Konum: Uzakta Görünen Tepeden...

Mesaj gönderen kadirkurtoglu »

table bileşeni ile group by kullanamazsınız. bunun için query kullanmanız gerekmektedir. ne istediğinizi ayrıntılı olarak yazarsanız.
Cevapla