Thanks for the reply Bruce,
I removed the original filter, and the locator began working as it should have. (Incidentally, the Location="B" bit is part of the whole SQL() filter).
What confuses me is the SQL() filter by itself works fine and filters the records as they should be. It seems that when we add ' AND ' and a normal Clarion filter that it fails?
Weird that this browse worked fine in NT6, but since the upgrade to 7 it is failing. Are there any issues with combining an SQL and Clarion filter? I didn't think there would be?
EDIT: Just did some more testing, and looks like there IS a problem with combining SQL and non SQL statements on the same line where the non SQL portion returns a numeric result? I entered this filter in the Browse properties:
'(SQL((PermitReqd=0 OR Code IN (SELECT ProductCode FROM DBRestrictedProducts WHERE CRMGUID=''6BFEB8D2-8A10-DF11-8DF5-00215AAC8BCE'')) And (Location=''B''))) AND (1=1)'
and it worked fine, so I changed the second part to:
'(SQL((PermitReqd=0 OR Code IN (SELECT ProductCode FROM DBRestrictedProducts WHERE CRMGUID=''6BFEB8D2-8A10-DF11-8DF5-00215AAC8BCE'')) And (Location=''B''))) AND (LEN(CLIP(UPPER(VPR:Description))) <> 0)'
to just add a check for the length of the Description column, and I get zero records again.
Then I changed the second part to:
'(SQL((PermitReqd=0 OR Code IN (SELECT ProductCode FROM DBRestrictedProducts WHERE CRMGUID=''6BFEB8D2-8A10-DF11-8DF5-00215AAC8BCE'')) And (Location=''B''))) AND (SUB(VPR:Description,1,1) ='"B'')'
and it works fine, giving me all products starting with 'B'...
Very odd!