Putting a lone = in a field--in both a manual and scripted find specifies that the field must be empty in the found set then produced by either perform find, constrain found set or extend found set.
Here's how you would do that in a script:
Enter Find Mode  ---> clear the pause check box
Set Field [YourTable::Field2 ; "=" ]
Constrain Found Set 
Note that all brackets are empty in this example. You could just use:
Constrain Found Set [Restore]
But this buries the criteria used in a way that you can't see in the script until you open additional dialogs so the first example produces a script that is much easier to review and maintain. The first example also makes it possible to set up calculations that evaluate to produce the criteria then used in the find and this is not possible for stored criteria.
For more examples of scripted finds, including some that use Constrain and Extend, see: Scripted Find Examples
Thanks very much for your swift reply. Apologies if I'm not understanding your answer correctly and/or if I didn't explain my query well enough, but would this allow me to do the following?
- Have the user perform any find in any field(s) to get a found set.
- Run the script, which constrains that found set to check that (within that found set) FIELD2 is not blank.
- Extends or removes the constrain criteria (assuming no blank FIELD2's exist) and returns back to the original found set.
It will do 2. It will not do 3. You'd have to either keep a copy of the original find in a separate window or perform the find with the original criteria again.