There is a limit on the number of characters in the query. The easiest way to reduce the length of your query is to use an alias for the table name. For instance, Access might build the query like:
SELECT ReallyLongTableName.Field1, ReallyLongTableName.Field2, ReallyLongTableName2.Field2
FROM ReallyLongTableName, ReallyLongTableName2
INNER JOIN ReallyLongTableName on ReallyLongTableName2.Field6 = ReallyLongTableName.Field1
WHERE ReallyLongTableName.Field1 = 'Something'
AND ReallyLongTableName.Field2 = 'Nothing'
Group By ReallyLongTableName.Field3
Order By ReallyLongTableName.Field4
Which can be written with an alias
SELECT A.Field1, A.Field2, B.Field2
FROM ReallyLongTableName AS A, ReallyLongTableName2 AS B
WHERE A.Field1 = 'Something'
AND B.Field2 = 'Nothing'
Group By A.Field3
Order By A.Field4
You may also be better off with a CASE statement (I forget if Access can do it or not!!) instead of a bunch of Nested IIF statements (especially if you are up to 15 of them!!)
Are your tables normalized? Why do you need a 15 deep nested if statement?
HTH
Leslie