Status 属性范例

该范例使用 Status 属性显示在批更新发生前有哪些记录已经在批操作中被修改。

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 标题的类型。

   Do Until rstTitles.EOF

      If Trim(rstTitles!Type) = "psychology" Then

         rstTitles!Type = "self_help"

      End If

      rstTitles.MoveNext

   Loop

   ' 显示标题 ID 和状态。

   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

   ' 取消更新,因为这只是演示。

   rstTitles.CancelBatch

   rstTitles.Close

End Sub