你在table1.post前有没有
table1.insert;

table1.edit;
呀?
没有就加上。

解决方案 »

  1.   

    在编辑之前,先进行判断,然后在输入数据即可。
    if not (table1.state in [dsedit, dsinsert]) then table1.edit;
    ......
    ....
      

  2.   

    就像上面朋友说的那么做。
    不过我一般用  query   控件。
      

  3.   

    昨天我也遇到过这种情况是这样才出现的问题.我先用
    table1.edit.然后中间用了
    table1.locate
    最后再table1.post;
    就出错了。 你看看有没有用locate.原因是中间改变了记录定位。你先
    table1.open.
    table1.edit;
    table1.post;
      

  4.   

    同意yangxd(Goldenyxd) 他的做法,我以前也有過此類情況