A few things:
1. If a value is not found in the InStr function, it returns a 0. If you apply the Len function to 0, it returns a 1. So, if you are applying that sort of criteria, you do not actually want/need the Len function. Also, you do not want double-quotes around your field name [strID]. If you do, it is checking the literal text string [strID] and not the calculated field [strID]. So, the criteria would look something like (however, read my next part).
Code:
=InStr([strID],"#180#")>0
2. I have had trouble in the past with having a calculated field in a query, and then try to apply criteria to that calculated field in the same query when trying to access it by the calculated field name, instead of the underlying calculation. So you might need it to look something like this:
Code:
=InStr("#" & [ID1] & "#" & [ID2] & "#" & [ID3] & "#" & [ID4] & "#" & [ID5] & "#" & [ID6] & "#","#180#")>0
3. If it were me, I would not use either of those two criteria. I would just use this instead:
Code:
WHERE [ID1]="180" Or [ID2]="180" Or [ID3]="180" Or [ID4]="180" Or [ID5]="180" Or [ID6]="180"