1) always post the error message (or a condensed form of it). The error number is useful too. It helps focus the response.
2) always post the beginning of the procedure so we can know if it's a button click, after update, before update, current, etc. event
I think you're over complicating this, but you don't say what's supposed to happen if a value is found. This might require your code to be in the BeforeUpdate event of the combo, because if the records isn't supposed to be created, it's too late.
Also, I'm thinking the set of records (domain) you want to check is on the continuous form. If so, this would probably suffice
With Me.Recordset
.FindFirst ("TimClassID = 2")
If .NoMatch Msgbox "your message here"
End With
Again, your info is a bit sketchy for me. If doing this in an event that takes place before the record is saved it might cause unexpected results. You can't include new selections in the check of the record you're on if it hasn't been saved yet. Don't forget - using bound combo boxes on records means that any altered selection will write that selection to the current record, so it's easy to unintentionally change existing data.
The more we hear silence, the more we begin to think about our value in this universe.
Paraphrase of Professor Brian Cox.