Is this a text field with an auto-entered calculation or a field of type calculation with text selected as the result type?
If this is an auto-entered calculation, it will not automatically update existing records when you add or change the auto-enter calculation. And any changes to the values of a record in a related table will not automatically cause a new value to calculate in your field.
If this is a field of type calculation, better check the relationships involved.
If the field is an auto-enter field, it will only work "re-calculate" on records in which the referenced fields are edited. If this is the case (as suggested above), you may want to confirm whether you want the Auto-Enter calculation to 'Replace Existing Value' or not.
Also, I see an immediate problem with your Case () function ... there are no logical tests. The Case () function is just a more complex If () function ; for example,
Case ( Events::contact_primary_client1 ; Events::client1_address1 ; Events::contact_primary_client2 ; Events::client2_address1 )
should be written ― and if you start nesting If() and Case() functions, you may find it a little easier to manage ― as follows,
Events::contact_primary_client1 = "Bob" ; Events::client1_address1 ;
Events::contact_primary_client2 = "Jane" ; Events::client2_address1
Hope that helps
Cripes I feel stupid. Thanks to both of you for the help. I changed to to a calculation field and fixed my function and it's working perfectly now. Thanks!!!