У меня есть база данных Access, которую я использую для отчетности. После первоначальной загрузки необработанных данных я должен запустить некоторые запросы создания для создания некоторых кеш-таблиц (чтобы ускорить выполнение форм), а затем запустить некоторые обновления на некоторых вторичных таблицах. При запросе я запускаю макрос, который создает почти десяток этих справочных таблиц.Упорядочение данных в MS Access
Проблема, с которой я сталкиваюсь, заключается в том, что выполнение этих инструкций всегда приводит к появлению диалогового окна с просьбой подтвердить, что запуск созданного запроса приведет к удалению старой таблицы, предупреждая меня о том, что на диске недостаточно места/памяти для отмены (I подумайте, что это проблема внутреннего доступа, у моей рабочей станции много физических ресурсов), спрашивая меня, действительно ли действительно хочет поместить 1485672 строк в новую таблицу ... и делает это для каждого запроса. Есть ли способ установить ответ по умолчанию для всех этих операторов, чтобы я мог просто выполнить основной макрос и уйти на полчаса, вместо того, чтобы фиксировать и прижигать поток диалоговых окон? В идеале я бы хотел увидеть результат в окне консоли или в файле журнала, но я не знаю, легко ли это сделать.
Некоторые из запросов create-table выполняются непосредственно из макроса, но некоторые из них имеют больше логики и выполняются в коде (DoCmd.RunSQL "..."
). У меня есть эта проблема с обоими типами запросов. Те же проблемы с операциями обновления (как обновления-запросы, а также выполняются как SQL в коде), а также с удалением.
Вы можете установить предупреждения, но это применимо ко всем базам данных на ПК, поэтому важно включить их снова. Часто бывает лучше выполнять запросы, но все зависит от вашего кода. – Fionnuala
@Remou: У меня есть эта проблема (слишком много диалогов), даже когда инструкции выполняются в коде, используя 'DoCmd.RunSQL '. Выберите blah в new_table из big_table.' ' – FrustratedWithFormsDesigner
Это использует' RunSQL', а не 'Execute' – Fionnuala