Да, у меня это произошло в базе данных 2003 года - я подумал, что, возможно, база данных была повреждена, поэтому на этот раз я восстановил ее с нуля, используя Access 2010, но это только что произошло со мной снова. Макрос / кнопка работали, как и ожидалось, в течение нескольких месяцев, но после того, как я изменил 1 строку кода VBA в совершенно не связанной части приложения (установив для поля значение «ноль» вместо «»), эта очистка запроса началась снова.
Я запускаю макрос, запускаемый кнопкой, которая выводит результаты SELECT в файл. Я разработал конкретные шаги, которые можно предпринять, чтобы инициировать стирание запроса, однако, если я проверю, что запрос все еще существует между каждым шагом, тогда запрос не стирается! Очевидно, что это не решение для пользователей приложения.
Я нашел в другом вопросе стекопотока Странная ошибка: "DoCmd.OutputTo acOutputQuery" удаляет запрос Обход, который я собираюсь попробовать - измените встроенный макрос ExportWithFormatting, чтобы вместо него запускать код, и перезапустите SQL перед выполнением команды вывода.