The new record isn't dirty until you start providing values for the fields
in it. (Remember that a record is New until it's saved.)
To check whether the current record is dirty, you use Me.Dirty.
To check whether the current record is new, you use Me.NewRecord
You could use
If Me.Dirty = False Or Me.NewRecord = True Then
...
End If
but I'm not sure of the point of the check for NewRecord.

Signature
Doug Steele, Microsoft Access MVP
http://I.Am/DougSteele
(no e-mails, please!)
> Hi,
> I have many fields text and combo bound and unbound in a form. Is there a
[quoted text clipped - 13 lines]
>
> Thanks