Text fields are designed to hold short pieces of text; a maximum of 512 characters, to be precise. Text fields cannot contain line break characters, such as carriage-return and linefeed. Also remember that some text fields require that the text be formatted in a particular way. For instance, a postal-code text field will only accept valid U.S. and Canadian postal codes. If you attempt to put a value into the field which does not match the predefined rules, the assignment will be unsuccessful.

One other strange behavior is the way in which empty text fields behave. When the empty-string "" is stored to the Relate database it comes back from the database as a null. But to make things even more confusing, when a null String is inserted into an edit field on a form it comes back as the empty-string. Of course, you can't always predict whether the text field was just part of a form, because the current user may not have permission to edit the field or the form may have been partially updated via an editable merge report. So, to make a long story short, if you are looking for empty text fields that may have just been edited on a form, such as in a field formula, you must check for both null and "". But if you are dealing with a text field which your are certain just came from the database, such as in a merge report formula, you only need to check for null.  Fortunately there is a function designed for this exact purpose, nullOrEmpty(...).