Filtering for Updated Records
Before you call UpdateBatch, you can use the Recordset Filter property to view only those records which have been changed since the Recordset was opened or the last call to UpdateBatch. To do this, set Filter equal to adFilterPendingRecords to determine how many records will be updated, as shown below.
This example extends the previous UpdateBatch example by filtering the Recordset just before calling the UpdateBatch, showing the user which records will change and allowing her to cancel the update (using the CancelBatch method).
'BeginFilterAffected
objRs1.Filter = adFilterPendingRecords
objRs1.MoveFirst
strMsg = "The following " & objRs1.RecordCount & " values will " & _
"be updated. Do you wish to proceed?"
While Not objRs1.EOF
strMsg = strMsg & vbCrLf & objRs1(0) & vbTab & objRs1(1) & vbTab & _
objRs1(2) & vbCrLf
objRs1.MoveNext
Wend
blnResp = MsgBox(strMsg, vbYesNo, "Proceed with Update?")
If blnResp = True Then
objRs1.UpdateBatch
Else
objRs1.CancelBatch
End If
'EndFilterAffected
