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
Field Object | Record Object | Status Property (ADO Field)