2 table'dan Rapor Oluşturma

Firebird ve Interbase veritabanları ve SQL komutlarıyla ilgli sorularınızı sorabilirsiniz. Delphi tarafındaki sorularınızı lütfen Programlama forumunda sorunuz.
Cevapla
meren
Üye
Mesajlar: 71
Kayıt: 20 Ara 2004 03:44

2 table'dan Rapor Oluşturma

Mesaj gönderen meren »

Arkada$lar 2 table'dan bir table olu$turmak takıldığım bir nokta varda.. yaptığım i$lemler $unlar

1. table FINSAT330.CHK 'dan alınan fieldlar
HesapKodu, GrupKodu, Unvan1, DvrB, DvrA, OdemeB, OdemeA, CiroB, CiroA, IadeFatB, IadeFatA, KDVB, KDVA, DigerB, DigerA, OtvBorc, OtvAlacak
bunlar benim 1. firmanın bilgileri.. ADOTABLE1'de

2. table FINSAT373.CHK'dan alınan fieldlar
HesapKodu, GrupKodu, Unvan1, DvrB, DvrA, OdemeB, OdemeA, CiroB, CiroA, IadeFatB, IadeFatA, KDVB, KDVA, DigerB, DigerA, OtvBorc, OtvAlacak
bunlar benim 2. firmanın bilgileri.. ADOTABLE2'de

ben bunları... table kopyalam i$lemi yaptırarak tek bir tableda kopyaladım $u $ekilde
Buton1 =>

Kod: Tümünü seç

ProgressBar1.Max:=adotable1.RecordCount;
progressbar1.Position:=0;
   adotable1.First;
   repeat
    ProgressBar1.Position:=progressbar1.Position+1;
    adoTable3.Append;
        adotable3.FieldByName('HesapKodu').AsString:=adotable1.fieldbyname('HesapKodu').AsString;
        adotable3.FieldByName('GrupKod').AsString:=adotable1.fieldbyname('GrupKod').AsString;
        adotable3.FieldByName('Unvan1').AsString:=adotable1.fieldbyname('Unvan1').AsString;        adotable3.FieldByName('DvrA').AsString:=adotable1.fieldbyname('DvrA').AsString;
        adotable3.FieldByName('DvrB').AsString:=adotable1.fieldbyname('DvrB').AsString;
        adotable3.FieldByName('OdemeB').AsString:=adotable1.fieldbyname('OdemeB').AsString;
        adotable3.FieldByName('OdemeA').AsString:=adotable1.fieldbyname('OdemeA').AsString;
        adotable3.FieldByName('CiroA').AsString:=adotable1.fieldbyname('CiroA').AsString;
        adotable3.FieldByName('CiroB').AsString:=adotable1.fieldbyname('CiroB').AsString;
        adotable3.FieldByName('IadeFatA').AsString:=adotable1.fieldbyname('IadeFatA').AsString;
        adotable3.FieldByName('IadeFatB').AsString:=adotable1.fieldbyname('IadeFatB').AsString;
        adotable3.FieldByName('KDVB').AsString:=adotable1.fieldbyname('KDVB').AsString;
        adotable3.FieldByName('KDVA').AsString:=adotable1.fieldbyname('KDVA').AsString;
        adoTable3.Post;
        adotable1.Next;
        until adotable1.Eof;
showmessage('Aktarım Tamamlandı.!');
end;
BUTON2

Kod: Tümünü seç

ProgressBar1.Max:=adotable1.RecordCount;
progressbar1.Position:=0;
   adotable2.First;
   repeat
    ProgressBar1.Position:=progressbar1.Position+1;
    adoTable3.Append;
        adotable3.FieldByName('HesapKodu').AsString:=adotable2.fieldbyname('HesapKodu').AsString;
        adotable3.FieldByName('GrupKod').AsString:=adotable2.fieldbyname('GrupKod').AsString;
        adotable3.FieldByName('Unvan1').AsString:=adotable2.fieldbyname('Unvan1').AsString;
        adotable3.FieldByName('DvrA').AsString:=adotable2.fieldbyname('DvrA').AsString;
        adotable3.FieldByName('DvrB').AsString:=adotable2.fieldbyname('DvrB').AsString;
        adotable3.FieldByName('OdemeB').AsString:=adotable2.fieldbyname('OdemeB').AsString;
        adotable3.FieldByName('OdemeA').AsString:=adotable2.fieldbyname('OdemeA').AsString;
        adotable3.FieldByName('CiroA').AsString:=adotable2.fieldbyname('CiroA').AsString;
        adotable3.FieldByName('CiroB').AsString:=adotable2.fieldbyname('CiroB').AsString;
        adotable3.FieldByName('IadeFatA').AsString:=adotable2.fieldbyname('IadeFatA').AsString;
        adotable3.FieldByName('IadeFatB').AsString:=adotable2.fieldbyname('IadeFatB').AsString;
        adotable3.FieldByName('KDVB').AsString:=adotable2.fieldbyname('KDVB').AsString;
        adotable3.FieldByName('KDVA').AsString:=adotable2.fieldbyname('KDVA').AsString;
        adoTable3.Post;
   adotable2.Next;
   until adotable2.Eof;
 showmessage('Aktarım Tamamlandı.!');

end;
ben burada her 2 tabledaki bilrileri ADOTABLE3'e kopyaladım.. $imdi benim $u raporu almam gerekiyor ama olmuyor

ADOQUERY ile DBGRID'de
SELECT HesapKodu, Unvan1, Sum((DvrB+DigerB+OdemeB+CiroB+IadeFatB+KDVB+OtvBorc)-(DvrA+DigerA+OdemeA+CiroA+IadeFatA+KDVA+OtvAlacak)) As Toplam_Bakiye FROM FINSAT330_CHK where HesapKodu BETWEEN 'ANK1.001' and 'XXX.999' GROUP BY HesapKodu, Unvan1

diyerek toplam ciro raporu alacam ama alamıyorum.. yani amacım her iki tarafın borç alacağının farkını TOPLAM Bakiye denilen yerde almak..

nerede hata yapıyorum acaba?
Cevapla