Merhaba, DB'de şimdilik 1000 - 2000 adet ürün var, karşık satılan ürünlerin kaçartane satıldığını bulmam gerekiyor ve işlem sonunda bu listeyi faklı bir DB'ye kaydedeceğim.
Örnek:
Makarna 1
Ekmek 1
Süt 1
Makarna 1
Ekmek 1
Süt 1
Makarna 1
Ekmek 1
Süt 1
procedure TForm2.Satisadeti(Sender: TObject);
var
Uad: String;
Adet: Integer;
begin
Adet := 0;
With DBSTORE, Liste do
begin
Connection := PLConnection;
Close;
SQL.Clear;
SQL.Add('Select * From URUNLER');
Prepared := True;
Open;
try
Items.EndUpdate;
while Not EOF do
begin
Adet := FieldByName('ADET').AsInteger;
Uad := FieldByName('URUN').AsString);
Next;
if ????? then
begin
end;
end;
finally
Items.BeginUpdate;
end;
end;
end;
Close;
Ürünler tablosu dışında Hareketler veya ürün hareketleri tablosu kullanıyor musunuz? Yapmak istediğiniz hareketler içinden daha kolay yapılabilir diye düşünüyorum.
select hareketler.urun, urun.urunadi, sum(hareketler.adet) from hareketler
left join urun on urun.urun = hareketler.urun
where hareketler.tarih >= :tarih1 and hareketler.tarih <= :tarih2
group by hareketler.urun, urun.urunadi
order by hareketler.urun
Yüksek ihtimalle böyle bir sorgu sonunda istediğiniz bilgiye ulaşmış olacaksınız.