set rs as new recordset   '在MSDN中对ado有详细的论述
...
rs.movelast '只有当id=10是最后一条记录时才可这样用否则你恐怕要用到一个循环
rs.edit
rs!id=9   
rs.updata  'ok

解决方案 »

  1.   

    ado的recordset好像没有edit方法dao的recordset有edit方法,但dim rs as new dao.recordset时,报错“new关键字使用错误”
              ---
      

  2.   

    当然有方法了,只要将字段ID的属性设置为可重复的自动编号或数字类型就行了
    ADO无EDIT,但只要对VALUE附值就可以了
      

  3.   

    回复人: ltolll(小力) (2001-10-20 16:25:10)  得0分 
    set rs as new recordset  '在MSDN中对ado有详细的论述
    ...
    rs.movelast '只有当id=10是最后一条记录时才可这样用否则你恐怕要用到一个循环
    rs.edit
    rs!id=9  
    rs.updata  'ok  你的方法是行不通的
      

  4.   

    ADO中的Recordset对象返回的记录集始终处于一种编辑模式下,所以想要修改记录集的话,没有必要使用Edit方法,而且Recordset也没有这么一个方法。DAO中有。ACCESS中的自动编号字段不允许更改新值。建议你如果能找到另外的字段作为主关键字,不要使用自动编号,否则编程实现一些功能时会很麻烦。
      

  5.   

    没必要对Access的自动编号字段赋值吧?这个字段不应该面向用户。
    如果用户确实要有一个序号字段,就另加一个,用程序来实现自动递增。
      

  6.   

    笨办法,把所有记录读出来,写进临时文件,drop掉表,重新create表,再把记录全写进去,顺大便改掉序号,呵呵,超级笨办法,纯粹调剂一下,没别的意思..............~
      

  7.   

    这个自动编号的字段的确不是面向用户的。但删除一个记录后,其后的编号入不改正,无论看,还是用,都很不爽的!不是吗?ffb,稍详细的说说你的看法。
      

  8.   

    自动编号的字段是不能修改的,要改为不是自动编号的可在存储过程中用游标(CURSOR)
      

  9.   

    写delete的触发:
        if delete() then
           movefirst
           do while not eof() 
           index=record.cursor
           movenext
           loop
        endif
    当然可以再优化一下,算法就不写了,伪代码自己转换一下吧。