Well Len,
Joining fields that are null can be a kind of dangerous proposition. Ideally, Null, which is nothing, means nothing (in other words, you don't ascribe characteristics to a field that contains Null, and you don't try to defeat the purpose of Null by making it artificially equal to another Null field).
That being said, you **can** join two null fields (it's not an ideal world), by joining on the NZ of the field, like so:
UPDATE TABLE2 INNER JOIN TABLE1 ON (NZ(TABLE1.A,<SOME IMPOSSIBLE NUMBER>) = NZ(TABLE2.A,<SOME IMPOSSIBLE NUMBER>)) AND (NZ(TABLE1.B,<SOME IMPOSSIBLE NUMBER>) = NZ(TABLE2.B,<SOME IMPOSSIBLE NUMBER>)) SET TABLE2.C = TABLE1.C;
The reason I said <some impossible number>, is that if you just use the NZ function, then Null fields will be joined with fields that contain zero (something I assume you would not want to happen). So, the value of <some impossible number> is any value that will not occur naturally in your data. For instance if TABLE1.A is a day of the week field, make the NZ return an impossible number like 88; etc.
As to not doing the join where both A and B are null, you would just have to add a "Where TABLE1.A is not null or TABLE1.B is not null".
Good Luck,
Tranman