我正做一个小程序,想先把表定位,然后补加几个字段内容,可就是一直出错,请各位大哥帮忙看看:(先谢谢了)
  with table1 do
  begin
    close;
    open;
    editkey;
    fieldbyname('Saccount').AsString:=edit2.Text;
    gotokey;
    if gotokey then
    begin
      edit;
      if radiogroup1.ItemIndex=0 then
        fieldbyname('stakekind').asstring:='取支票'
      else
        fieldbyname('stakekind').AsString:='取现金';
      fieldbyname('stakesum').asstring:=edit5.text;
      fieldbyname('stakedate').asdatetime:=datetimepicker1.date;
      fieldbyname('Ssum').asstring:=edit6.text;
      post;
    end
    else
      showmessage('没有找到记录!');
   end;

解决方案 »

  1.   

    你的主索引是Saccount字段吗?
    如果还有别的字段也要给出查询条件的
    比如你的主索引包含field1,field2,那么就要写成
    editkey;
        fieldbyname('field1').AsString:=edit2.Text;
        fieldbyname('field2').AsString:=...;
    gotokey;
        
      

  2.   

    它出错的信息就是else后面的语句('没有找到记录!')它根本就没有执行
        editkey;
        fieldbyname('Saccount').AsString:=edit2.Text;
        gotokey;
    这几个语句,还有就是我把if判断语句去掉之后,表里边是添加了记录,可添加的根本不是定位帐号(也即edit2.text内容)的字段,却是在第一条记录后增加。
    我那个程序的主索引就是Saccount(代表'帐号')字段edit2.text帐号的位置.小妹谢谢上面两位大哥了!第一次发贴子,本来不抱希望有人回,呵呵…………
      

  3.   

    1、你用了两次gotokey,去掉第一个单独的gotokey.
    2、如果关键字段有多个,应在editkey前设置keyfieldcount=1.
      

  4.   

    我改用了Tquery,谢谢上面各位大哥
      

  5.   

    对呀,这种修改建议直接用sql语句。