Where are you doing this calculation (query, table, form, report, etc)?
Is "Allotment" a numeric field?
Can you provide some examples of records that are not working that way you like?
Specifically, what is the value of "Allotment" and "Stop Sale Flag", what is your expected value, and what is it returning?
By the way you should change this:
Code:
Inventory Status: IIf([Allotment]=0 And [Stop Sale Flag]="Y","Stop Sale",IIf([Remaining Allotment]>=0 And [Stop Sale Flag]="Y",...
to this...
Code:
Inventory Status: IIf([Allotment]=0 And [Stop Sale Flag]="Y","Stop Sale",IIf([Remaining Allotment]>0 And [Stop Sale Flag]="Y",...
Since the first condition is checking for "0" and "Y", there is no reason to check for ">=0" and "Y". It should be ">0" and "Y".
Anything equal to 0 will get caught in the first check.
The way you have written it doesn't hurt anything, but it is unnecessary and can be misleading.