Fatura icindeki Stok hareket gridindeki verilerin Kdv matrahlarını Kdv gridine aktarmak istiyorum
** ilk işlem Stokhareket gridini bastan sona tarıyor
** 2. işlem kdv gridinde aynı kdv li kayıt varsa üstüne ekliyor yoksa yeni satır açıyor
*** Hata kdv grdinin ikinci satırından sonra kdvmatrahını hatalı hesaplıyor
Döngü şöyle:
var
a,b,g,f,c,e:integer;
d:boolean;
begin
Begin
datamodule21.IBTable16.First;
f:=strtoint(format('%2d',[yenigrid2(wwdbgrid2).RowCount-1]));
edit2.Text:=inttostr(f);
for g:=1 to f do
Begin
c:=strtoint(format('%2d',[yenigrid1(wwdbgrid1).RowCount-1]));
edit1.Text:=inttostr(c);
for e:=1 to c do
Begin
d:=datamodule21.ibtable25.Locate('KDV',datamodule21.ibtable16kdvoran.text,[lopartialkey]);
if d=true then
Begin
datamodule21.ibtable25.edit;
datamodule21.IBTable25kdvmatrah.Text:=floattostr((datamodule21.IBTable16tutar.Value)+(datamodule21.IBTable25kdvmatrah.Value));
datamodule21.ibtable25kdvtutari.text:=floattostr(strtofloat(datamodule21.ibtable25kdvmatrah.text)*strtofloat(datamodule21.ibtable25kdv.text)/100);
datamodule21.IBTable25.Post;
end
//d:=datamodule21.ibtable25.Locate('KDV',datamodule21.ibtable16kdvoran.text,[lopartialkey]);
else if d=false then
Begin
datamodule21.ibtable25.append;
datamodule21.ibtable25kdv.text:=datamodule21.ibtable16kdvoran.text;
datamodule21.ibtable25kdvmatrah.text:='0';
datamodule21.ibtable25kdvmatrah.text:=floattostr((strtofloat(datamodule21.ibtable16tutar.text)));
datamodule21.ibtable25kdvtutari.text:='0';
datamodule21.ibtable25kdvtutari.text:=floattostr(strtofloat(datamodule21.ibtable25kdvmatrah.text)*strtofloat(datamodule21.ibtable25kdv.text)/100);
datamodule21.IBTable25.Post;
end;
datamodule21.IBTable25.Next;
end;
datamodule21.IBTable16.Next;
end;
Dbgridden Dbgride Veri Aktarımında Hatalı Hesaplama?
Merhaba,
hocam neyin ne olduğu anlaşılmıyor.
* Anlamlı isimler kullanmalısın. Table3 hiç bir anlam ifade etmezken TblStokHareket ismi çok şey ifade ediyor.
* Boşluklar hiç belli değil. Hangi kod hangi blokta??? Sitede bu konuda detaylı bir makale var, incelemeni tavsiye ederim.
Soruna gelince Database'de işlemler DBGrid, DBEdit vs. üstünden yapılmaz
İlgili dataset'le işini görürsün. Yani Stok Hareketle ilgili bir işlem yapacaksan, gidip Stok Hareket'in datasetine (table, query, dataset vs.) müracaat edersin.
Bence adım adım çalışıtırp bir bak, daha da iyisi SP yap bunu
Kolay gelsin.
hocam neyin ne olduğu anlaşılmıyor.
* Anlamlı isimler kullanmalısın. Table3 hiç bir anlam ifade etmezken TblStokHareket ismi çok şey ifade ediyor.
* Boşluklar hiç belli değil. Hangi kod hangi blokta??? Sitede bu konuda detaylı bir makale var, incelemeni tavsiye ederim.
Soruna gelince Database'de işlemler DBGrid, DBEdit vs. üstünden yapılmaz

Bence adım adım çalışıtırp bir bak, daha da iyisi SP yap bunu

Kolay gelsin.