Public Sub AddParticipantAttribute()


   Dim oService As REServices

   Set oService = New REServices

   oService.Init REApplication.SessionContext

   Dim oAttributeServer As CAttributeTypeServer

   Set oAttributeServer = oService.CreateServiceObject(bbsoAttributeTypeServer)

   oAttributeServer.Init REApplication.SessionContext


   Dim lAttributeID As Long

   'The below gets the attribute ID for the Special Requests attribute

   lAttributeID = oAttributeServer.GetAttributeTypeID("Special Requests", bbAttributeRecordType_PARTICIPANT)


   Dim oAttribute As IBBAttribute


   Dim oPart As CParticipant

   Dim lPartID As Long

   Dim oRec As CRecord

   Set oRec = New CRecord

   oRec.Init REApplication.SessionContext


   'Load constituent record based on system record ID

   oRec.Load 280


   For Each oPart In oRec.Participants

       If oPart.EventObject.Fields(SPECIAL_EVENT_fld_NAME) = "Volunteer Dinner" Then

           lPartID = oPart.Fields(Participants_fld_ID)

           Exit For

       End If


   Next oPart


   Set oPart = New CParticipant

   oPart.Init REApplication.SessionContext


   oPart.Load lPartID


   Set oAttribute = oPart.Attributes.Add

   oAttribute.Fields(Attribute_fld_ATTRIBUTETYPES_ID) = lAttributeID

   oAttribute.Fields(Attribute_fld_VALUE) = "Non-Smoking"






   Set oRec = Nothing



   Set oPart = Nothing



   Set oService = Nothing


   Set oAttributeServer = Nothing

   Set oAttribute = 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.