I’m looking for some enlightenment here, can anyone tell me what actually happens when you use MS Access to query against a table (on MS SQL Server) linked via ODBC? I mean in a regular linked style, not an Access ADP.
Does the ODBC driver somehow take the query from Access and perform a translation and let MSSQL do the heavy lifting or does ODBC merely facilitate the exchange of data down, then Access does work, then data goes back up?
I believe that to be the case although I can never seem to find a definitive answer. And that it’s in contrast to something like sending commands using ADO in Access to send/perform only the necessary task without pulling down all records.
I could very well be far far into the weeds on this one.
The ODBC driver knows how to translate between Access and SQL Server SQL dialects and data types.
So, yes it can allow the server to do the “heavy lifting”. But your query must also be written properly to allow that to happen.
One type of problem would be a query with an Access-only function (which doesn’t have a TSQL equivalent) in its
WHEREclause. In a case like that, Access would have to pull down every row from the server so that it could evaluate the function’s result.