It is possible with DLookup but I agree - bring the data into the form. If more than one record could satisfy the DLookup function then the value returned by it would be random.
EDIT - BTW, not only might multiple records satisfy the lookup, the criteria probably needs to be based on a form field on the current record. If not, the DLookup return will be constant for every record; i.e. if it is true at all, it will be true for any record on the form.