This example uses the Status property to display which records have been modified in a batch operation before a batch update has occurred.
'BeginStatusRecordsetVB Public Sub StatusX() Dim rstTitles As ADODB.Recordset Dim strCnn As String ' Open recordset for batch update. strCnn = "Provider=sqloledb;" & _ "Data Source=MyServer;Initial Catalog=Pubs;User Id=sa;Password=; " Set rstTitles = New ADODB.Recordset rstTitles.CursorType = adOpenKeyset rstTitles.LockType = adLockBatchOptimistic rstTitles.Open "Titles", strCnn, , , adCmdTable ' Change the type of psychology titles. Do Until rstTitles.EOF If Trim(rstTitles!Type) = "psychology" Then rstTitles!Type = "self_help" End If rstTitles.MoveNext Loop ' Display Title ID and status. rstTitles.MoveFirst Do Until rstTitles.EOF If rstTitles.Status = adRecModified Then Debug.Print rstTitles!title_id & " - Modified" Else Debug.Print rstTitles!title_id End If rstTitles.MoveNext Loop ' Cancel the update because this is a demonstration. rstTitles.CancelBatch rstTitles.Close End Sub 'EndStatusRecordsetVB
Status Property (ADO Recordset)