The Update method saves changes to the AddressEntry object in the MAPI system.
objAddressEntry.Update( [makePermanent] [, refreshObject] )
Changes to objects are not permanently saved in the MAPI system until you call the Update method with the makePermanent parameter set to True.
For improved performance, CDO caches property changes in private storage and updates either the object or the underlying persistent storage only when you explicitly request such an update. For efficiency, you should make only one call to Update with its makePermanent parameter set to True.
The makePermanent and refreshObject parameters combine to cause the following changes:
refreshObject = True | refreshObject = False | |
---|---|---|
makePermanent = True | Commit all changes, flush the cache, and reload the cache from the address book. | Commit all changes and flush the cache (default combination). |
makePermanent = False | Flush the cache and reload the cache from the address book. | Flush the cache. |
Call Update(False, True) to flush the cache and then reload the values from the address book.
The user must have the appropriate permission to Add, Delete, or Update an AddressEntry object. Most users have this permission only for their personal address book (PAB).
The following code fragment changes the display name for a valid AddressEntry object:
' Function: AddressEntry_Update
' Purpose: Demonstrate the Update method
Function AddressEntry_Update()
Dim objRecipColl As Recipients ' Recipients collection
Dim objNewRecip As Recipient ' New recipient
' error handling omitted ...
Set objRecipColl = objSession.AddressBook
If objRecipColl Is Nothing Then
MsgBox "must select someone from the address book"
Exit Function
End If
Set objNewRecip = objRecipColl.Item(1)
' above could be objRecipColl(1) since .Item is default property
With objNewRecip.AddressEntry
.Name = .Name & " the Magnificent"
.Type = "X.500" ' you can also change the Type
.Update ' defaults to makePermanent = True
End With
MsgBox "Updated address entry name: " & objNewRecip.AddressEntry.Name
Exit Function
' error handling omitted
End Function