如何给数据清零

怎么给数据清零?

procedure TFrm_mssy_lr.cxButton2Click(Sender: TObject);
var
  i,cout:integer;
begin
   //新增
     with zlby_qry do
     begin
        zlby_qry.Filter:='f_byl>0';
        zlby_qry.Filtered:=true;
        cout:=RecordCount;
        edit;
        first;
        for i:=0 to cout-1 do
        begin
          edit;
          FieldByName('f_byl').AsFloat:=0;
          post;
          next;
        end;
        zlby_qry.Filtered:=false;
        edit;
      end; 
end;
子表有一列f_byl 数据参与计算,每次输入10个数据,计算完后,新增数据时清零,
,可以清零,但提示错误如下
如何给数据清零
请指点是什么原因?谢谢大家
------解决思路----------------------
过滤条件内 少了一条,count就不准了
最好从最后一条向上循环,不用for,而是while not bof do
------解决思路----------------------
把最后的edit删掉
------解决思路----------------------
同意楼上。LZ Edit用得有点多。一个就够了。

           edit;
           FieldByName('f_byl').AsFloat:=0;
           post;
------解决思路----------------------
procedure TForm1.Button1Click(Sender: TObject);
begin
  with zlby_qry do
  begin
    Last;
    While Not Bof do
    begin
      edit;
      FieldByName('f_byl').AsFloat:=0;
      post;
      prior;
    end;
  end;
end;