Yep, and now I see original attempt should have been NOT IsNull()
If Not IsNull(DLookup("Citation_Num", "NODLog_tbl", "Citation_Num = '" & Me.txtCitationNum & "'")) Then
So the variable shouldn't really be needed.
Yes, Undo is nice to have so user doesn't have to manually undo.