Are you attempting to test if the control exists? For instance, if your code is dynamically creating controls on a form at run time? Or are you just trying to determine if there is data in the underlying table?
If the control will always be there, and you only care whether there is data, then IsNull is a correct choice. That would look like this:
Code:
IIF(IsNull([Forms]![frmDailyClass]![txtTerm]),4,[Forms]![frmDailyClass]![txtTerm])
There's also a great function called NZ that was defined for exactly this situation, and allows you to efficiently override Nulls with your desired default value. That would look like this:
Code:
NZ([Forms]![frmDailyClass]![txtTerm],4)