Mikrocu hocam zaman ayırıp cevap yazdığın için sana ve diğer arkadaşalra teşekkür ederim.Ayrıca senin daha önce söylediğin gibi
mikrocu yazdı:Öncelikle bir delphi kitabı almalısın ve bazı geceler ağlayana kadar bu kitaba çalışmalısın. gerçekten az çok bi şeyler yazmak istiyorsan delphide. yanlış anlama forum sana asla delphi öğretmez. forumu ancak nokta atışı için kullanırsın. soru sorarsın ve cevap alırsın. o kadar. öncesini senin doldurman gerekiyor.
inan bana gözlük takmamın tek nedeni programlama ve okuma. Yazdığın cevap benim yapmak istediğim şey için uygun değil gibi geldi.Ayrıca Mysql ile çalıştıramadım.Durumumu mu daha detaylı anlatırsam sanırım daha çok yardımcı olabilirsiniz.
Öncelikle şunu söyleyeyim forumda bu tür söylenen şeyler sql sorgusu ile yazılmış ve sonuç bir dbgridde gösterilmiş benim istediğiim bu değil
Benim carikartı ve carihareket isimli iki tablom var.Bu tablolar birbirlerine carikod üzerinden bağlı.Ve carihareket tablosunun verileri bir dbgrid içerisinde görüntüleniyor.
Bu tabloya fatura ekranından,çekgiriş ve çekçıkış ekranlarından kayıt giriliyor ayrıca master-detail ekranından da direkt bilgi girişi yapılabiliyor.
Şimdi yapmak istediklerimi söyle açıklayayım.Dinamik bir tablo olduğu için Hesaplamayı calculated olarak yapmam gerekiyor. Başka türlüsü benim için olmaz

Son bir iki günde Bir carikodu ilk seçildiğinde cariharekettablosundaki hesaplamayı doğru olarak yaptırabiliyorum.En son kayıda kadar Kalan tutar doğru olarak hesaplıyor.Ama Master-Detail olarak bağlı oldukları alandan yeni bir kayıt (dbgrid içerisinde) eklemek istediğim anda kalan tutar sapıtıyor ve konuyla ilgisiz sonuçlar yapıyor.
benim yazdığım kod şöyle:
Kod: Tümünü seç
procedure TCARIFORM.carihareketCalcFields(DataSet: TDataSet);
begin
if kalantutarmiktari=0 then//Bu değişkenle bir önceki satırın kalanını
begin //buluyorum
carihareketsanaltutar.asfloat:=carihareketborc.asfloat-
carihareketalacak.asfloat;
kalantutarmiktari:=carihareketsanaltutar.asfloat;
end else
begin
carihareketsanaltutar.asfloat:=(carihareketborc.asfloat-
carihareketalacak.asfloat)+kalantutarmiktari;//önceki satırdan gelelen kalanı dahil ediyor
kalantutarmiktari:=carihareketsanaltutar.asfloat;
end;
end;
Ah birde insert yada edit ederken kalan tutar sapıtmasa 
Daha bu işi başaramadım Bu arada değerler önceden sıfırlanıyor