perhaps have a query along the lines of
Code:
SELECT employeePK, count(employeeFK) as Ctr
FROM table2 lEFT JOIN table1 ON table2.employeePK=table1.employeeFK
GROUP BY employeePK
ORDER BY count(employeeFK)
Then a second query based on that one
Code:
SELECT TOP 1 employeePK FROM qry1
Finally in your form something like
employeeFK=dlookup("employeePK","Qry2")
The first query is ordering with the least assigned at the top, the left join ensures all employees are available. When starting that is all of them so the first one is effectively chosen randomly in the second query. Once assigned, the next time you add a new task, that employee is at the bottom, so TOP 1 will choose a different employee. This continues until they have all been assigned once. At which point the cycle starts again - but wont necessarily select TOP 1 in the same order.