I have this bit of code:
UPDATE NewMaster SET NewMaster.[Risk Mitigation Status] = "Pending Audit/Assist"
WHERE (NOT (NewMaster.[Risk Mitigation Status] = "Complete"));
This updates all rows to "Complete", except "Pending Audit/Assist" (expected) and NULLs (for me, completely unexpected!) Same with <> operator. Do I just need to add OR IS NULL? This makes no sense to me!
NULLs are tricky like that. You have to explicitly test for, or otherwise escape, them. Trying to compare, convert or otherwise use them together with any non-null value will pretty much always break something.
I'm not practised with Access SQL, but based on this documentation, it looks like the proper function for escaping them in Access SQL is 'Nz'. As in:
That will substitute the value "0" for any nulls it finds, before comparing them to the string "Complete".