hmserver其实已经给你答案了。
1、编写事件
procedure OnCalcBalance(sender: TField);
begin
当前记录集前移一条
取出余额
记录集.Next;
while not 记录集.eof
begin
根据摘要,处理数据逻辑关系
记录集.Next;
end;
end;
2、初始化,在打开记录集的时候动态绑定
procedure InitParam();
begin
打开记录集
if 记录集.FindField('借方')<>nil then 记录集.FindField('借方').OnChange := OnCalcBalance;
if 记录集.FindField('贷方')<>nil then 记录集.FindField('贷方').OnChange := OnCalcBalance;
贷方
end;