自动计算字段,计算公式需要先取上一条记录某个字段的值再与当前记录进行运算,CalcFields里代码如何实现(300分)

N

nalyc

Unregistered / Unconfirmed
GUEST, unregistred user!
自动计算字段,计算公式需要先取上一条记录某个字段的值再与当前记录进行运算,CalcFields里代码如何实现?
 
既然和上面一条记录相关 我觉得你还是在外面用语句循环计算一下吧
 
能在CalcFields里的代码实现吗
 
var temp:integer;//全局变量
procedure oncalc.....;
begin
Aquery.edit;
Aquery.fieldbyname('要更改的字段').asinteger:=Aquery.fieldbyname('某字段').asinteger+temp;//这里的temp是上一个记录
Aquery.post;
temp:=Aquery.fieldbyname('你说的那个字段名称').asinteger;//里面放当前的记录
end;
//手边没有delphi,只能凭感觉了.
//还要考虑第一行的问题,因为它没有上一条哦
 
CalcFields里代码如何实现取上一条记录某个字段的值?

Prior; //找到目录记录后,上移一条记录
if Bof then xxx:=0 //第一条?是,0值
else //不是,本来就可以xxx:= ,没用,还是当前记录
begin
Prior; //再上移一条
xxx:=aQuery.FieldByName('xyz').AsInteger; //xxx:=,还是当前记录
end;
 
解决了,谢谢参与.各送150~
 
顶部