Вы не можете ожидать, что SQL сервер сможет волшебным образом получить доступ к таблицам, хранящимся в другом месте.
Выполните запрос в Access и либо используйте связанную таблицу, либо укажите местоположение таблицы, например
INSERT INTO tmpTableData SELECT Something FROM [ODBC;DSN=myDSN;UID=MyID;Pwd=MyPWd].Schema.TableInSQLServer
Если вы хотите выполнить запрос на SQL сервере, а не Microsoft Access, то SQL сервер должен иметь возможность доступа к файлу базы данных Access и использовать OPENROWSET
для запроса Таблица доступа.
В качестве альтернативы вы можете создать промежуточный запрос и использовать его для копирования таблицы:
Dim qd As DAO.QueryDef
Set qd = db.CreateQueryDef("~tmpQuery")
qd.Connect = "ODBC;DSN=myDSN;UID=MyID;Pwd=MyPWd"
qd.ReturnsRecords = True
qd.SQL = tmpSQL
Set qd = Nothing
db.Execute "INSERT INTO tmpTable SELECT * FROM [~tmpQuery]"
db.QueryDefs.Delete "~tmpQuery"