Вам следует выяснить, почему VBA не может найти запрос.
У меня есть сохраненный запрос с именем qryAddLoginfoRow. Он вставляет строку с текущим временем в мою таблицу loginfo. Этот запрос выполняется успешно при вызове по имени CurrentDb.Execute.
CurrentDb.Execute "qryAddLoginfoRow"
Я предполагаю, что либо queryname - это переменная, содержащая имя запроса, которое не существует в текущей базе данных QueryDefs, либо имя запроса - это буквальное имя существующего запроса, но вы не заключили его в кавычки.
Edit:
Вам нужно найти способ принять, что имя запроса не существует в текущей коллекции QueryDefs db. Добавьте эти 2 строки в код VBA непосредственно перед строкой CurrentDb.Execute.
Вторая из этих двух строк вызовет ошибку 3265 во время выполнения, "Элемент не найден в этой коллекции". Затем перейдите в окно Immediate, чтобы проверить имя запрашиваемого запроса CurrentDb до Execute.
Ответ 3
Чтобы использовать CurrentDb.Execute, ваш запрос должен быть запросом действия, а в кавычках.