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

    Dim oConstituent As CRecord
    Dim odataObject As IBBDataObject
   
    On Error GoTo ErrHandler
   
    Set oConstituent = oRecord
    Set odataObject = oConstituent
   
    If Not oConstituent Is Nothing Then
        'bCancel = < place your custom save criteria here >
        If odataObject.FieldIsDirty(RECORDS_fld_DECEASED) Then
            MsgBox "Deceased checkbox changed"
        End If
    End If
   
    Set oConstituent = 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 Constituent_BeforeSave : " & sErr
   
    Set oConstituent = Nothing
    bCancel = False
   
    Exit Sub

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. Blackbaud Customer Support may help explain the functionality of a particular procedure, but we will not modify, or assist you with modifying, these examples to provide additional functionality.