Ok then.
What does [MANAGER B], [SALESREP B] etc refer to? Are these global variables? If not, then this could be your issue.
for example, when you use
[MANAGER B].Value = rs.Fields("MANAGER.ID").Value
you are telling the db to set the value of something called [Manager B] to whatever the value is in the field Manager.ID in the current record in the recordset.
Now, if Manager B is a global variable then access should know all about it already because you already declared it elsewhere. If, however, this is instead a control in a form or a value in a table, then Access needs to be told specificly where to place this value.
Eg. Forms!fmNameHere!ControlNameHere = ....
If you want to store this in a temporary variable, then you need to declare that in the sub. Something like:
Dim [Manager B] as String
Also, to make your code easier to follow, you may wish to investigate the use of the select case statement rather than using multiple if statements.
Somehting like
Code:
Select Case rs.Fields("Dept").Value
Case "Bio"
[MANAGER B].Value = rs.Fields("MANAGER.ID").Value
[SALESREP B].Value = rs.Fields("REPRESENTATIVE.ID").Value
Case "FER"
[MANAGER F].Value = rs.Fields("MANAGER.ID").Value
[REFERRED REP F].Value = rs.Fields("REPRESENTATIVE.ID").Value
Case "SER"
[REFERRED MANAGER S].Value = rs.Fields("ManagerID").Value
[REFERRED REP S].Value = rs.Fields("SalesRepID").Value
End Select