Public Sub Export(oRow As IBBExportRow)

  'This sample assumes that you have a Constituent Export _

  set up with the Name filed, the System Record ID field _

  and then two VBA User Fields

  'List the columns in the output of the Export

  Const NAME = 1

  Const ID_FIELD = 2

  Const VB_FIELD = 3

  Const VB_Field2 = 4


  If oRow.BOF Then

      'This code will be processed once (at the beginning of the file).

      '   Here you would connect to an external database or run setup code

      MsgBox "Begin processing"

  ElseIf oRow.EOF Then

      'This code will be processed once (at the end of the file).

      '  Here you would disconnect/close external databases if needed or run

      '  end of processing code

      MsgBox "End processing"


      'This code will be processed once per row


      Dim oCon As CRecord

      Set oCon = New CRecord

      oCon.Init RE7.SessionContext


      Dim oInd As CIndividual


      Dim lID As Long

      'get the id

      lID = oRow.Field(ID_FIELD)


      oCon.Load lID

      'Determine if the record is an individual

      If oCon.Fields(RECORDS_fld_KEY_INDICATOR) = bbki_INDIVIDUAL Then


      For Each oInd In oCon.Relations.Individuals

      'Loop through individual relationships to find spouse

          If oInd.Fields(INDIVIDUAL_fld_IS_SPOUSE) = True Then

              'Compare spouse last name with constituent last name

              If oInd.Fields(INDIVIDUAL_fld_LAST_NAME) <> oCon.Fields(RECORDS_fld_LAST_NAME) Then

              'Assign the value for the first VBA User Field

              oRow.Field(VB_FIELD) = "Different last name"

              Exit For

              End If

          End If

      Next oInd

      End If

      'Assign the value for the second VBA User Field

      oRow.Field(VB_Field2) = oCon.Fields(RECORDS_fld_GENDER)


      Set oCon = Nothing



  End If

End Sub

Note: In this example the following fields must be selected in the order listed in Export: Name, System Record ID, VBA User Field,VBA User Field. The code must be in the System_Macros project to be selected in Tools, Export Options, VBA Macro.

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.