The IsNull() function is intended to determine if a field or variable is null. If you compare something to a null value, the result is null. So If null = null is null.
It depends on what you want to do if the field is null whether the Nz() function will work for you. The Nz() function takes any null value and changes it to whatever you want. The default value returned if you don't specify what you want will be 0 if the field is numeric and "" if the field is text. "" is a zero-length string which is often confused with null. They are NOT the same and they are NOT interchangable. If the field you are testing contains a zero-length string, that's what the Nz() function will return. So if strYourField = "" then, Nz(strYourField, "N/A") will return "" rather than the "N/A" value that you might expect.
My suggestion is that if you use Nz(), ALWAYS specify the value you want returned when the field being tested is null.
So Nz(strField, "N/A") or even Nz(strField,"") is better than the lazy Nz(strField).
For a numeric field
Nz(numField,0) is preferred to Nz(numField)
You could use the following to cover all bases.
If Nz(Len(Me.YourField),0) = 0 Then ' the field is empty or null