Проблемы
В Microsoft Access может возникнуть низкая производительность при использовании сквозных запросов в качестве исходных таблиц в других запросах.
Причина
Microsoft Access не хранит определение для сквозного запроса. Таким образом, сквозной запрос может выполняться в разное время для получения сведений, связанных с его определением. Когда выполнение сквозного запроса занимает значительное время, Access зависает при выполнении сквозного запроса.
Решение
В зависимости от того, где вы заметили проблему в Access, существует несколько способов предотвращения этой проблемы.Общие изменения:
-
Повышение производительности сквозного запроса, чтобы сократить время, необходимое для выполнения запроса.
-
Вместо использования сквозного запроса создайте представление в SQL Server и привяжите это представление к Access в виде связанной таблицы.
Конкретные сценарии: проектирование запроса:
-
Внесите изменения в представление SQL Access вместо конструктора (в представлении конструктора запросов можно изменить представление на представление SQL, открыв запрос в режиме конструктора. Затем перейдите в раздел Результаты на вкладке Конструктор на ленте.)
-
Проблема затрагивает сохраненные запросы. Таким образом, вы можете открыть существующий запрос в представлении SQL Access, скопировать синтаксис SQL, создать новый запрос, вставить синтаксис SQL в представление SQL, а затем изменить запрос на конструктор. Вы сможете создать запрос без проблем, пока вы не сохраните его.
Открытие форм или выполнение запросов:
-
Измените свойство типа набора записей на Snapshot. (В режиме конструктора откройте страницу свойств на вкладке конструктора ленты в группе Показать и скрыть)
Просмотр отчетов:
-
Изменение отчета для использования сквозного запроса в качестве источника записей