Aşağıdaki kod ile 1.tabladaki "Urun_Kodu" 2. tablada var ise (birden fazla olabilir) aynı "Urun_Kodu" eşitse toplayıp karşısına yazıyor.
fakat herhangi bir filtre yapamıyorum
SIPARIS_DETAYLARI_DB özellikleri

Kod: Tümünü seç
procedure TGUNLUK_STOK_RAPORU.Button1Click(Sender: TObject);
var
B : TBookmark;
SiparisToplam : double ;
begin
URUN_KARTLARI_DB.first; // master tablomuzun ilk satırındayız ve detail tabloyu filtreledik
while not URUN_KARTLARI_DB.eof do
begin
SiparisToplam := 0;
try
B :=URUN_KARTLARI_DB.getbookmark; //master tablomuza nokta koyduk ki detail da gezerken
SIPARIS_DETAYLARI_DB.first; //sıramızı bozmasın
while not SIPARIS_DETAYLARI_DB.eof do //detail tablomuzun first une gittik ve artık ofirmanın
begin //bütün şiparişleri filtreledik
SiparisToplam := SiparisToplam + SIPARIS_DETAYLARI_DB.FieldByName('Urun_Adeti').value ; //baştan aşşa
SIPARIS_DETAYLARI_DB.next; //dolaşarak total şipariş toplamını bulduk
end;
finally
URUN_KARTLARI_DB.GotoBookmark(B); //en son da master tablomuzdaki nokta koydugumuz yere geri döndük
URUN_KARTLARI_DB.edit; //master tablomuza edit açtık ve gerekli fielda sonucu postladı
URUN_KARTLARI_DB.FieldByName('Siparis_Sayisi').value:= '0' ;
URUN_KARTLARI_DB.FieldByName('Siparis_Sayisi').value:= SiparisToplam ;
URUN_KARTLARI_DB.FieldByName('Toplam').AsCurrency:= URUN_KARTLARI_DB.FieldByName('Fiili_Stok_Sayisi').AsCurrency - URUN_KARTLARI_DB.FieldByName('Siparis_Sayisi').AsCurrency;
URUN_KARTLARI_DB.post;
URUN_KARTLARI_DB.FreeBookmark(B);
end;
URUN_KARTLARI_DB.next; //yeni cari geçtik.
end;
end;
teşekkürler