Merhaba Arkadaşlar ve hocalarım;
Benim şimdi şöyle bir sorunum var algoritmasını kuramadığım;
Bir satış formum var ve ürünler buradaki bir virtual tablea aktarılıyor;
ve yapı şu şekilde;
1.Alan 2 Alan;
1 54
2 40
1 50
2 60
3 70
4 80
2 70
bundan sonr yapmak istediğim şu
1lerin Toplamı 104
2lerin Toplamı 170
3lerin toplamı 70
4lerin toplamı 80
bunu yaptırmak istiyorum
virtual tableda sql fonksiyonu yok
ve 1 2 3 4 değerlerim 5 6 7 yani çok daha fazla değişkenli de olabilir;
Nasıl bir yolizlemeliyim
şimdiden teşekkür ederim
Virtual Table Alt Toplamlar
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
- barisatalay
- Üye
- Mesajlar: 398
- Kayıt: 02 Nis 2013 05:43
- İletişim:
Re: Virtual Table Alt Toplamlar
Virtual table aktarmadan önce işlemini yap ondan sonra oraya kayıt et bence
Yeni bloğum: http://brsatalay.blogspot.com.tr/
Re: Virtual Table Alt Toplamlar
barış kardeşim öyle olmuyor yani şöyle düşün virtualtableda her ürün gözükecek fakat aşağıda bir panelde her birim için toplamlar gözükecek;
Şöyle bir yol düşündüm ikinci bir virtual table yapayım;
oraya bir döngü ile aktarsın fakat ikinci virtual tablea aktarırken;
birinci virtual tabledaki alanları bir kere yazsın yani aktardığı yeni değerin aynısı ikinci memtableda varsa
miktar değerlerini toplayarak gitsin;
hangi fonksi,yonlar bunu yazabilirim
Şöyle bir yol düşündüm ikinci bir virtual table yapayım;
oraya bir döngü ile aktarsın fakat ikinci virtual tablea aktarırken;
birinci virtual tabledaki alanları bir kere yazsın yani aktardığı yeni değerin aynısı ikinci memtableda varsa
miktar değerlerini toplayarak gitsin;
hangi fonksi,yonlar bunu yazabilirim
- barisatalay
- Üye
- Mesajlar: 398
- Kayıt: 02 Nis 2013 05:43
- İletişim:
Re: Virtual Table Alt Toplamlar
Dögnü ile yap ozaman 1.virturaldakileri saydır
aynı olanları if ile ayırt et ve bir değişkene at döngü bitince bu değişkenleride 2. virturala basabilirsin.
aynı olanları if ile ayırt et ve bir değişkene at döngü bitince bu değişkenleride 2. virturala basabilirsin.
Yeni bloğum: http://brsatalay.blogspot.com.tr/
Re: Virtual Table Alt Toplamlar
kolay gelsin takrardan tetiklenmiyor;
avaba nerede hata yapıyorum
Kod: Tümünü seç
procedure Tfrm_ambalajsepet.alttoplamlar;
begin
with dm_.vt_ambalaj do
begin
first;
while not eof do
begin
dm_.vt_alttoplam.First;
while not dm_.vt_alttoplam.eof do
begin
if FieldByName('AMBALAJBIRIM').AsString=dm_.vt_alttoplam.FieldByName('DEGER').AsString then
begin
dm_.vt_alttoplam.Edit;
dm_.vt_alttoplam.FieldByName('TOPLAM').AsFloat:=dm_.vt_alttoplam.FieldByName('TOPLAM').AsFloat+FieldByName('MIKTAR').AsFloat;
dm_.vt_alttoplam.Post;
end
else
begin
dm_.vt_alttoplam.Insert;
dm_.vt_alttoplam.FieldByName('TOPLAM').AsFloat:=FieldByName('MIKTAR').AsFloat;
dm_.vt_alttoplam.FieldByName('DEGER').AsString:=FieldByName('AMBALAJBIRIM').AsString;
dm_.vt_alttoplam.Post;
end;
NEXT;
end;
next;
end;
end;
end;
Re: Virtual Table Alt Toplamlar
Kod: Tümünü seç
procedure Tfrm_ambalajsepet.alttoplamlar;
var
i:integer;
begin
with dm_.vt_ambalaj do
begin
first;
for i:= 0 to recordcount-1 do
begin
if dm_.vt_alttoplam.Locate('DEGER',FieldByName('AMBALAJBIRIM').AsString,[]) then
begin
dm_.vt_alttoplam.Edit;
dm_.vt_alttoplam.FieldByName('TOPLAM').AsFloat:=dm_.vt_alttoplam.FieldByName('TOPLAM').AsFloat+FieldByName('MIKTAR').AsFloat;
dm.dm_.vt_alttoplam.Post;
end
else
begin
dm_.vt_alttoplam.Insert;
dm_.vt_alttoplam.FieldByName('DEGER').AsString:=FieldByName('AMBALAJBIRIM').AsString;
dm_.vt_alttoplam.FieldByName('TOPLAM').AsFloat:=FieldByName('MIKTAR').AsFloat;
dm_.vt_alttoplam.Post;
end;
end;
end;
end;