I have a requirement as follows: If a Member has been removed from a Volunteer Project for attendance issues, they can never be added to another Volunteer Project.

The Member Object is actually the Contact object renamed. I created a custom object called Volunteer Projects. As there will be more than one Member on one Volunteer Project, I also created a custom junction object called Volunteer Project Members.

I have a check box called "Removed" and a picklist called "Reason for Removal" with the values: "withdrew without notice", "withdrew with notice", and "attendance issues", that I have created on the Member object.

I think I need to use a cross object formula to prevent creating another Volunteer Project record if the picklist value is "Attendance Issues" on the Member object.

The problem is that I don't know how to go about this.

I appreciate any help you can give me.

1 Answer 1


If I understand correctly, what you want to block is the creation of new 'Project Member' records connected to a 'Member' that already has a related 'Project Member' with status 'Attendance Issues'.

In order to do so using configuration only (no apex coding), you will need to mark the 'Member' that has had Attendance Issues, so you can recognize it when it is being selected as a new Project Member.

So there are 2 things to do:

  1. mark the Member with Attendance Issues, e.g. by creating a Rollup Summary field on Member that counts the number of Project Member records attached that have status 'Attendance Issues'
  2. create a Validation Rule on Project Member that checks whether a new Project Member is being created (ISNEW()) and then checks if the related Member is marked as having had attendance issues (the field from #1 being > 0).

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .