Dim cnn As New ADODB.Connection
     Dim rs As New ADODB.Recordset
   rs.LockType = adLockOptimistic
    rs.CursorType = adOpenKeyset
    cnn.CursorLocation = adUseClient
    cnn.connectionstring = connstr
    cnn.Open
   rs.Open "SELECT * FROM 表1 where 准考证号='" & Text1.Text & "' ", cnn
         With rs
            .Fields("准考证号") = Text1.Text
            .Fields("A") = Text4.Text
            .Fields("B") = Text5.Text
            .Fields("C") = Text6.Text
            .Update
         End With
        rs.Update
        rs.movenext
        text1.text=rs.Fields("准考证号")
    End If
    cnn.Close
我的意思是当我一条数据修改完后,指针自动移动到下一条,并且把下一条的“准考证号”赋给text1   可是老出错,请高手指教,谢谢   急。

解决方案 »

  1.   

    用SQL语句吧,其实仅仅只为了修改一条记录,而打开了整个表1的RecordSet,这资源浪费的没必要
      

  2.   

    SQL语句怎么写啊??请指教   谢谢。
      

  3.   

    rs.Open "SELECT * FROM 表1  ", cnn 
      

  4.   

    不是一个SQL能完成的,上面有问题
      

  5.   

    rs.Open "SELECT * FROM 表1 where 准考证号='" & Text1.Text & "' ", cnn 楼主这句代码目的是什么呀? 你的 rs 很有可能是只有一条记录的记录集,甚至空集。
    你 movenext 往哪走啊?请不要把 rs 和基础表理解为同一样东西。改成 rs.Open "SELECT * FROM 表1  ", cnn 吧。