Public Sub UpdateTributeFields()

   Dim oRecord As CRecord

   Dim oTribute As CTribute

   Dim oTributeAck As CTributeAcknowledgee

   Dim bFound As Boolean

   

   'Opening the constituent record that has the tribute

   Set oRecord = New CRecord

   oRecord.Init REApplication.SessionContext

   

   oRecord.Load 744

   

   'looping through tributes to find the one needing updating

   For Each oTribute In oRecord.Tributes

       If oTribute.Fields(Tribute_fld_ID) = 21 Then

           'Check the "Gifts may be given to this tribute" field

           'if not already checked

           If oTribute.Fields(Tribute_fld_ACTIVE) <> True Then

               oTribute.Fields(Tribute_fld_ACTIVE) = True

           End If

           

           'Need to determine if the "Honor/Memorial is an acknowledgee"

           'is already checked

           bFound = False

           For Each oTributeAck In oTribute.Acknowledgees

               If oTributeAck.Fields(TributeAcknowledgee_fld_RELATIONSHIPS_ID) = "" Then

                   bFound = True

                   Exit For

               End If

           Next oTributeAck

           'if not already checked then check the

           '"Honor/Memorial is an acknowledgee" field

           If bFound = False Then

               With oTribute.Acknowledgees.Add

                   .Fields(TributeAcknowledgee_fld_RELATIONSHIPS_ID) = ""

               End With

           End If

       End If

   Next oTribute

   

   oRecord.Save

   oRecord.CloseDown

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