你在删除时可能以到了最后一条记录,因此再movenext会报错,这样写试试:
Do While Not adoRst.EOF
    a = a + 1
    MsgBox Str(a), vbOKOnly, "a"
    adoRst.Delete
    adoRst.Update
    adoRst.MoveFirst
Loop

解决方案 »

  1.   

    有一组欲删除的记录存放在adorst中(ADODB.Recordset),是经过多种操作而来。
    有没有可能已经删除的第一条记录和后面的记录有关联。导致出现错误?
      

  2.   

    adorst.delete
    doevents  '加上
    adorst.update
    就行了.
      

  3.   

    假如你将记录全删了,再.movenext当然不行了,所以你必须在保证有记录的条件下.movefirst,你可明白?在删除之后要判断一下记录是否为空才能再移动记录。