ADO Samples

Status Property Example (Field) (VB)

The following example opens a document from a read/write folder using the Internet Publishing Provider. The Status property of a Field object of the Record will first be set to adFieldPendingInsert, then be updated to adFieldOk.

'BeginStatusFieldVB
Sub insert()
   Dim rec As New Record
   ' Open a read/write document
   rec.Open "http://websrv/folder/subfolder", , adModeReadWrite, _
      adCreateCollection Or adOpenIfExists

   Debug.Print "Append couple of fields"
   rec.fields.Append "chektest:fld1", adWChar, 42, adFldUpdatable, "fld1"
   rec.fields.Append "chektest:fld2", adWChar, 42, adFldUpdatable, "fld2"
   Debug.Print "status for the fields"
   Debug.Print rec.fields("chektest:fld1").Status 'adfldpendinginsert
   Debug.Print rec.fields("chektest:fld2").Status 'adfldpendinginsert
   rec.fields.Update
   Debug.Print "Update succeeds"
   Debug.Print rec.fields("chektest:fld1").Status
      ' adFieldOK if the update succeeds
   Debug.Print rec.fields("chektest:fld2").Status
      ' adFieldOK if succeeds
End Sub
'EndStatusFieldVB

The following example deletes a known Field from a Record opened from a document. The Status property will first be set to adFieldOK, then adFieldPendingUnknown.

'BeginStatusField2VB
Sub delete()
   Dim rec As New Record
   Dim fld As Field
   ' Open a read/write document
   rec.Open "http://websrv/folder/subfolder", , adModeReadWrite, _
      adCreateCollection Or adOpenIfExists
   Debug.Print rec.fields("chektest:fld1").Status ' should be adFldOK
   ' Delete a field which already exists in the collection
   rec.fields.delete "chektest:fld1"
   Set fld = rec.fields("chektest:fld1")
   Debug.Print rec.fields("chektest:fld1").Status   ' Pending delete
   rec.fields.Update
   Debug.Print "Deleted"
   Debug.Print fld.Status   ' Pending unknown
End Sub
'EndStatusField2VB

The following code deletes a Field from a Record opened on a read-only document. Status will be set to adFieldPendingDelete. At Update, the delete will fail and Status will be adFieldPendingDelete plus adFieldPermissionDenied. CancelUpdate clears the pending Status setting.

'BeginStatusField3VB
Sub delete2()
   Dim rec As New Record
   Dim fld As Field
   ' Open a read/write document
   rec.Open "http://websrv/folder/subfolder", , adModeReadWrite, _
      adCreateCollection Or adOpenIfExists

   Debug.Print "Try to delete something without permission"
   rec.fields.delete ("RESOURCE_PARSENAME")
   Set fld = rec.fields("RESOURCE_PARSENAME")
   Debug.Print "Pending delete"
   Debug.Print fld.Status   ' Pending delete
   Debug.Print "Delete should fail on Update"
   rec.fields.Update   ' Should fail
   Debug.Print fld.Status   ' Pending delete plus error
   rec.fields.CancelUpdate
   Debug.Print fld.Status   ' Okay
End Sub
'EndStatusField3VB

See Also

Field Object | Record Object | Status Property (ADO Field)