Возможно, что происходит ограничение памяти и дискового ресурса. Запрос Make-Table в записях N = 350 000 расширяет базу данных и удваивает размер существующих данных (т. Е. В дополнение к ее производным данным). Помните, что число строк не является единственным фактором в размере: насколько широка таблица (до макс. 255) и типы данных (двойные целые числа, заметки и текстовые поля и т. Д.) Влияют на размер базы данных. Как видно из этого SO post, вы можете иметь таблицу с четырьмя столбцами из 7 миллионов записей, которая достигает 200 МБ!
Кроме того, по сравнению с обычным запросом на выбор запрос Make-Table выполняется так же, как в полноэкранном режиме, или выборочно сканирует таблицы несколько раз в зависимости от количества объединений (считайте декартовы продукты на записях) плюс он расширяется для создания нового объекта базы данных , а именно таблица со всеми ее определениями. Этот процесс может легко раздуваться и достигать предела доступа 2 ГБ или близко к нему, замедляя обработку. Возможно, если вы останетесь достаточно долго, сообщение об ошибке: Недостаточно места на временном диске. (Ошибка 3183) Может появиться.
Рассмотрит прохождение Make таблицы во внешние, пустые или меньшие базы данных Access, чьи таблицы могут быть связаны с текущей базой данных:
SELECT * INTO [NewTable]
IN 'C:\Path\To\ExternalDatabase.accdb'
FROM [QueryName]
С автоматизированной линией VBA таблиц:
DoCmd.TransferDatabase acLink, "Microsoft Access", _
"C:\Path\To\ExternalDatabase.accdb", acTable, _
"SrcTableName", "DestTableName"
В качестве альтернативы, свяжите существующую внешнюю, пустую/меньшую таблицу доступа и запустите запрос добавления в текущей базе данных:
INSERT INTO [LinkedTabe] SELECT * FROM [QueryName]
После небольшого исследования я столкнулся с http://support.microsoft.com/kb/178650. Хотя я не думаю, что это обязательно является решением вашей проблемы, это выявляет, что это, вероятно, сложность запроса, вызывающего проблему. Я предполагаю, что, хотя вы ограничили запрос до 30k, запрос все еще так же сложный и, вероятно, почему он все еще не работает. Хотя это всего лишь догадка. – Newd
У меня были и очень медленные запросы. Обычно я запускаю их на ночь. Вы можете попробовать скопировать и вставить его в новую таблицу. Я думаю, может быть, вы могли бы попробовать решение VBA, которое создало бы таблицу из вашего запроса, но я этого не пробовал. – EvDev