With an expression in a query you don't get much help from Access on figuring out what's wrong. In about five to ten minutes you can create an environment where you will have the debugging tools that you normally have for VBA code. Here are the steps you can do to debug this.
Click on the query that this expression is in to select it.
In the ribbon CREATE tab click on Form in the Forms section. Access will create a form with the query as the record source
Switch to design view and add a button to the form. Click cancel on the wizard if it comes up.
Save the form. The name doesn't make any difference as this is just for testing and will be deleted.
Right click on the button and click Build Event
In the Choose Builder select Code Builder and click OK.
In the subroutine add the line: Debug.Print nz(iif([result]<[RDL],"<"&[RDL],[result]),"NA")
Switch back to the Object view (View, Object or Shift F7 or Alt F11 on new versions)
Switch to Form view.
You can select a record which you which to test and then click the button. You may get an error message that will tell you what's wrong.
Switch back to code view to see the result. (CREATE Tab, Visual Basic, Alt F11 on newer versions)
With this setup you can now add Debug.Print statement to see the value of the fields, for example you could add
Code:
Debug.Print [result]
Debug.Print [RDL]
to see the values of these field for the record selected. Of course you can also see them in the form.