Public Sub Individual_BeforeSave(oRecord As Object, bCancel As Boolean)
    'oRecord              : record object being saved
    'bCancel              : set to true to cancel the save operation

    Dim oIndividual As CIndividual2
   
    On Error GoTo ErrHandler
   
    Set oIndividual = oRecord
   
    If Not oIndividual Is Nothing Then
        If oIndividual.Fields(INDIVIDUAL2_fld_IS_SPOUSE) = -1 Then
            oIndividual.Fields(INDIVIDUAL2_fld_SOFTCREDIT_GIFTS) = 0
        End If
    End If
   
    Set oIndividual = Nothing
   
    On Error GoTo 0
   
    Exit Sub
   
ErrHandler:
    Dim sErr As String
    sErr = Err.Description
    On Error GoTo 0
    '< place your custom error handling code here >
    MsgBox "Error processing Individual_BeforeSave : " & sErr
   
    Set oIndividual = Nothing
    bCancel = False
   
    Exit Sub

End Sub

Blackbaud provides 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 that you are familiar with Microsoft Visual Basic and the tools used to create and debug procedures.  Blackbaud Customer Support can help explain the functionality of a particular procedure but they will not modify, or assist you with modifying, these examples to provide additional functionality.  If you are interested in learning more about VBA and API modules, contact our Sales department at solutions@blackbaud.com.