比如有以下程序段:



Adodc_OutPut.Recordset.AddNew
Adodc_OutPut.Recordset("mCount")=Adodc_OutPut.Recordset("mCount")+300
Adodc_OutPut.Recordset.Update'进行Update操作后指针没有移动的吧?
IF  Adodc_OutPut.Recordset("mCount")>1000 Then
    Adodc_OutPut.Recordset("Spec")="T"
    Adodc_OutPut.Recordset.Update
    '这时进行这个操作时出错了,提示:无法为更新定位行,一些值可能已在最后一次读取后已更改。
End If我想在第一次对某一记录的某些值进行修改后,不需重新查询(即指针不移动还是指向上次修改的记录),
在符合某一条件值时,再对当前的记录进行修改。这样的问题怎么解决呢?

解决方案 »

  1.   

    问题还没有解决,自己顶一下。
    Adodc控件是否支持这样的操作,是否与其连接的表的字段的类型或字段的初始值有关呢?记得这种操作是可以的,但对另一个表时这种操作怎么会出错呢?
      

  2.   

    是不是对mCount字段进行了排序后导致的呢?楼主的代码可以改一下啊:IF  Adodc_OutPut.Recordset("mCount")+ 300>1000 Then 
        Adodc_OutPut.Recordset("Spec")="T" 
    End If 
    Adodc_OutPut.Recordset("mCount")=Adodc_OutPut.Recordset("mCount")+300 
    Adodc_OutPut.Recordset.Update 
      

  3.   

    其实代码不是这么简短的,用这段代码只是想说明一下问题,即在用
    AddNew添加一记录,进行Update(这时需要记录指针不移动)后,再判断符合某一条件时,又对当前的记录进行修改操作。