In addition to the information that Ricky posted, I commonly use a technique to determine if a variable or control has a non-null, non-empty value:
If Len(Me.txtLastName & vbNullString) > 0 Then
If the txtLastName control is Null, then the vbNullString ("") aka "empty string" is appended to it which results in, voila, an empty string which would have a Len() of 0.
If the txtLastName control is an empty string then the two empty strings are concantenated together resulting in, voila, an empty string which would have a Len() of 0.
Therefore anything that got past the If statement would contain a value. Microsoft recommends using this technique as a "performance enhancement" over other methods of determining a non-null, non-empty value in a control or Variant variable.
Here is some good reading along with additional tips.