could not reproduce your problem, here is what I did:Dim rs As ADODB.Recordset
Dim sConn As String
sConn = "Provider=SQLOLEDB;Server=localhost;UID=sa;PWD=;Database=tempdb"Set rs = New ADODB.Recordset
rs.Open "select * from table1", sConn, 3, 3rs.MoveFirst
While Not rs.EOF
   MsgBox rs("col1")
    rs.Delete
    rs.MoveNext
Wend
rs.UpdateBatchrs.Close
Set rs = Nothing