The best way to prevent an employee being recorded as currently holding two jobs would be to apply a CHECK CONSTRAINT to the table which models the many-to-many relationship type between employees and jobs. You'll find examples of the use of CHECK CONSTRAINTs in RangeValidation.zip in my Dropbox public databases folder at:
https://www.dropbox.com/scl/fo/0scigd3r48hx5xrev2jrf/AB0-GMdTgMAO5O1cGdr3QW0?rlkey=ib6bs6g9jqcrywwzivur3265t&dl=0
This little demo file illustrates two CHECK CONSTRAINTs, one for preventing two ranges from overlapping, the other to prevent gaps between ranges. The first would apply to your situation, the latter might or might not. However, to prevent more than one incomplete range, if we make an amended copy of the Ranges table so that it allows NULLs in the UpperVlaue column, we can prevent more that one row being inserted with a NULL UpperValue with the following CHECK CONSTRAINT:
ALTER TABLE RangesUnconstrained ADD CONSTRAINT SingleIncomplete CHECK((SELECT COUNT(*) FROM RangesUnconstrained WHERE UpperValue IS NULL) <=1)
Unlike other DDL statements adding a CHECK CONSTRAINT cannot be executed in the SQL window. It has to be done in code like this:
CurrentProject.Connection.Execute "ALTER TABLE RangesUnconstrained ADD CONSTRAINT SingleIncomplete CHECK((SELECT COUNT(*) FROM RangesUnconstrained WHERE UpperValue IS NULL) <=1)"
This can be done in the immediate window. To drop the constraint the code would be:
CurrentProject.Connection.Execute "ALTER TABLE RangesUnconstrained DROP CONSTRAINT SingleIncomplete"
In my case the constraint allows only one incomplete row in the Ranges table, whereas in yours you want to allow one per employee. To do this the DDL statement would be slightly different. In my case:
CurrentProject.Connection.Execute "ALTER TABLE RangesUnconstrained ADD CONSTRAINT SingleIncomplete CHECK((SELECT LowerValue FROM RangesUnconstrained WHERE UpperValue IS NULL GROUP BY LowerValue HAVING COUNT(*) >1) IS NULL)"
In your case the statement would be GROUPed BY EmployeeID.