If you are absolutely certain that there is no spelling error in table/field names then debug.print sql, step through, stop on the Execute line. If it looks good, copy/paste sql to new query in sql view and attempt to switch to datasheet view. If it presents a datasheet without balking (likely will be blank but that's OK) then the syntax and names are good. If not, it should highlight the offending part.
The more we hear silence, the more we begin to think about our value in this universe.
Paraphrase of Professor Brian Cox.