該范例使用 Status 屬性顯示在批更新發(fā)生前有哪些記錄已經(jīng)在批操作中被修改。
Public Sub StatusX()
Dim rstTitles As ADODB.Recordset
Dim strCnn As String
' 為批更新打開記錄集。
strCnn = "Provider=sqloledb;" & _
"Data Source=srv;Initial Catalog=pubs;User Id=sa;Password=; "
Set rstTitles = New ADODB.Recordset
rstTitles.CursorType = adOpenKeyset
rstTitles.LockType = adLockBatchOptimistic
rstTitles.Open "titles", strCnn, , , adCmdTable
' 更改 psychology 標(biāo)題的類型。
Do Until rstTitles.EOF
If Trim(rstTitles!Type) = "psychology" Then
rstTitles!Type = "self_help"
End If
rstTitles.MoveNext
Loop
' 顯示標(biāo)題 ID 和狀態(tài)。
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
' 取消更新,因?yàn)檫@只是演示。
rstTitles.CancelBatch
rstTitles.Close
End Sub