I don't know much about Access, but I'll give it a shot. The primary key needs to be something unique to that record. Case number ID is important for the relationship between tables, but don't make it the primary key in any table, because more the one record will obviously have the same client ID. Make a "client number" field in the client table, and a "witness number" field in the witness table. Those fields need to be the primary keys in their respective tables. You still need the case number field in each table to create the relationships, of course. It's okay for the case number field to be the primary key in the Case table, because there will only ever be one single case that has that number. In the other tables, once the case number field isn't set to be the primary key, Access won't mind if more than one record has the same number. So make it like this (Primary Key is the bolded one):
Case Information:
Case Number, Status of Case, Upcoming Events
Client Table:
Client Number, Case Number, Last Name, First Name, Street, City, State, Zip, Phone, Work Phone, e-mail
Witness Table:
Witness Number, Case Number, Last Name, First Name, Street, City, State, Zip, Phone, Work Phone, e-mail
Now set up your relationship exactly as you're already doing, i.e., associate the Case Name field in each table with a one-to-many relationship.
In my head that works. But, like I say, I know almost nothing about Access, so I may very well be completely wrong. If so, hopefully someone else here who knows what he's talking about will step in.