Драйвер ODBC передаст SQL Server как можно больше работы, но как только вы используете функцию vba, такую как Nz, или синтаксис не-SQL Server, такой как PIVOT, драйвер ODBC должен получить больше данных и индексов, чтобы получить работу. сделано на стороне клиента.
Как и в случае с другим ответом, либо создайте свои представления в SQL Server и свяжите их с представлениями, либо используйте проект доступа к данным.
Примечание: запросы PIVOT с неизвестным числом столбцов не могут быть обработаны в SQL Server так же, как Access будет делать это изначально - поэтому, если вы запустите в Access доступ к данным SQL Server, вы, вероятно, вернете всю таблицу обратно. Сводные запросы должны быть встроены в SQL Server с использованием методов динамического SQL или предварительно сохраненных представлений, в которых все столбцы жестко запрограммированы. Проверьте эту ссылку для одного способа сделать это:
http://www.sqlservercentral.com/articles/Advanced+Querying/pivottableformicrosoftsqlserver/2434/