If you’re working with ActiveX Data Objects (ADO) and connecting to a Jet database, you may get this error. One possible cause is that you misspelled a column name. When Jet encounters an unrecognized column name, it assumes it’s a parameter. Check the spelling of the field names in your SELECT statement.
Another possible cause, and one I experienced today, is surrounding strings in your WHERE clause with double quotes – it needs to be single quotes. Mine was fairly easy to track down because the error was “Too Few Parameters, Expected 3?. My SELECT statement started like this:
SELECT * FROM salesorder... so I knew I hadn’t spelled any column names wrong. I also knew I had five variables in my WHERE clause; three Strings and two Dates. I figured the problem must be in the Strings and it was.