Grid içinde Devirli toplam

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
serbek_tr
Üye
Mesajlar: 362
Kayıt: 16 Ağu 2004 12:54

Grid içinde Devirli toplam

Mesaj gönderen serbek_tr »

Hayırlı çalışmalar arkadaşlar. Öncelikle şunu belirteyim soracağım soru ile ilgili bir çok soru var mümkünce çoğuna baktım hemen hemen aynı sorular farklı başlıklar çoğunada işi çözen cevaplar verilmiş ama benim aradığım cevap baktımlarımın içinde yoktu Hatta burda husonet arkadaşım tam benim sorumu sormuşviewtopic.php?t=14437&highlight=calculated+field bende onun denediği yolları denedim hatta kendisi calculated alanda çözdüm demiş ama benim aradığım şey için olmamış. neyse kısa ve öz benim istediğimde bu linkteki ile aynı ancak herhalde arakdaşların aldığı sonuçlar bir gredi boyunu geçmediği için fark edememişler yada o şekilde işlerini görüyor kayıtlar bir grid ekranına sığmayacak kadar fazla ise grid hareket ettikten sonra toplam lar hareketli kayıtlardaki miktarara göre artmaya başlıyor.

kod aşağıda

Kod: Tümünü seç

    Bakiye := QTabloBORC.Value - QTabloAlacak.Value;

       BakiyeT := BakiyeT + Bakiye;
       If BakiyeT < 0 Then
          QTabloBakiye.Value := FormatFloat('#,##0.00',(BakiyeT*-1))+' (A)'
       Else
          QTabloBakiye.Value := FormatFloat('#,##0.00',(BakiyeT))+' (B)';
benim asıl merak ettiğim bu grid hareketi ile grid ekranının alt ve üst görünmeyen yerlerinde kendiliğinden devam eden hesaplamayı nasıl durdururuz
Procedure Forum.Imza(Sender: TObject)
Begin
ShowMessage('Her türlü fikire, Her zaman açığım')
End;
Kullanıcı avatarı
coder_24
Üye
Mesajlar: 17
Kayıt: 01 Oca 2008 05:16

Mesaj gönderen coder_24 »

Kullandığınız database stroredprocedure desteği varsa
şöyle bir yöntem ilşinizi görür sanırım
önce pir bakiye adli stor procudure

Kod: Tümünü seç

.......
....
declare veriable hesaplananbakiye decimal(15,2);/*Bu alana bakiye yüklenecek*/
begin
hesaplananbakiye=0;

for select tablom.anabakiye from tablom
into :bakiye
hesaplananbakiye=hesaplananbakiye+:bakiye
do
..........
...
Kodlama standartları biraz yanlış olabilir mantık böyle idi benim yazdığım bir proğramda çalışıyordu/ibdataset içinde select ve refresh sql yaz post ve delete işlemleri sonrası ibdataseti refresh yap sonuç :-) olmalı
Umarım işine Yarar
Kullanıcı avatarı
serbek_tr
Üye
Mesajlar: 362
Kayıt: 16 Ağu 2004 12:54

Mesaj gönderen serbek_tr »

teşekkür ederim ancak uzun süre cevap alamayınca yapılacak en mantıklı şey string grid diye düşündüm string gridde hesaplanan alanı tablo açılınca manuel olarak hesaplayıp string gride yansıtıyorum kayıtları. ayrıca sorgu üzerinde herhangi bir kayıt işlemi gerçekleşmeyecek sadece liste amaçlı. teşekkür ederim
Procedure Forum.Imza(Sender: TObject)
Begin
ShowMessage('Her türlü fikire, Her zaman açığım')
End;
Cevapla