I don't think you want to use the 3 non-key fields which may be blank in your join (or maybe that is where you were using NZ before?), i.e.
Code:
...AND (NZ(NorthportPrograms.Field7,"0")) = NZ([Copy Of NorthportPrograms].Field7,"0")) AND ...
Also, in you WHERE clause, you only need one condition:
Code:
WHERE ([Copy Of NorthportPrograms].Field1) Is Null;
If the record is unmatched (meaning it does not exist on the right side, you only need to check for the existence of one field on the right side.