Public Sub AddPhoneTypes()

  Dim oConstit As CRecord
  Set oConstit = New CRecord

  oConstit.Init REApplication.SessionContext
  oConstit.Load 845 'Load constituent record using system ID

  Dim oAddress As CConstitAddress

 For Each oAddress In oConstit.Addresses
     With oAddress.Phones.Add
           'Phone Number
            .Fields(CONSTIT_ADDRESS_PHONES_fld_PHONETYPE) = "Cell Phone"
           'Raiser's Edge will format the phone number if set up
           .Fields(CONSTIT_ADDRESS_PHONES_fld_NUM) = "2125551212"
           
           'Email
           .Fields(CONSTIT_ADDRESS_PHONES_fld_PHONETYPE) = "Email"
           .Fields(CONSTIT_ADDRESS_PHONES_fld_NUM) = "test@email.com"
           
           'Links
           .Fields(CONSTIT_ADDRESS_PHONES_fld_PHONETYPE) = "Twitter"
           .Fields(CONSTIT_ADDRESS_PHONES_fld_NUM) = "twitter.com/#!/username"
     End With

  'save parent object to save EMAIL phone number type
  oConstit.Save
  Next oAddress
  
  'cleanup
  oConstit.Closedown
  Set oConstit = Nothing
  Set oAddress = Nothing

End Sub

Disclaimer: We provide programming examples for illustration only, without warranty either expressed or implied, including, but not limited to, the implied warranties of merchantability and/or fitness for a particular purpose. This article assumes you are familiar with Microsoft Visual Basic and the tools used to create and debug procedures. Our Customer Support can help explain the functionality of a particular procedure, but we will not modify, or assist you with modifying, these examples to provide additional functionality. If you are interested in learning more about the VBA and API modules, contact your account manager.