PDA

View Full Version : اشکال در calculated field



hamid_reza21
شنبه 04 آذر 1391, 02:11 صبح
سلام
من برای محاسبه مانده حساب (running total) از فیلد calculated field استفاده کردم ولی وقتی با scroll در dbgrid استفاده می کنم یا حتی با کیبورد بین رکورد ها حرکت میکنم اشتباه محاسبه میکنه میشه بگید مشکل چیه؟

hamid_reza21
پنج شنبه 09 آذر 1391, 15:17 عصر
اینم سورس برنامه

fahimi
پنج شنبه 09 آذر 1391, 16:05 عصر
من هم به خاطر همین مشکل از fastreport استفاده کردم


procedure Memo27OnBeforePrint(Sender: TfrxComponent);
var
bed,bes,mandeh :integer;
begin
if (engine.FinalPass) then begin
bed:=bed+strtoint(<frxDBDataset1."bed">);
bes:=bes+strtoint(<frxDBDataset1."bes">);
mandeh:=bed-bes;
memo27.text:=inttostr(mandeh);
end;
end;

begin

end.

armira
دوشنبه 20 آذر 1391, 11:11 صبح
سلام
دوست عزیز ، کدی که تو قسمت OnCalcfields نوشتی رو پاک کن و از کد زیر استفاده کن :

TADOStoredProc(DataSet).FieldValues['Total'] := ADOTable1.fieldbyname('Debtor').Value-ADOTable1.fieldbyname('creditor').Value;

fahimi
دوشنبه 23 بهمن 1391, 17:12 عصر
مانده حساب (running total) به وسیله کوئری


select OrderId, bed,bes ,(select sum(bed)-sum(bes)
from Orders where OrderID <= O.OrderID)'Mandeh' from Orders O