Вы должны выяснить, почему VBA не может найти имя_периода .
У меня есть сохраненный запрос с именем qryAddLoginfoRow .Он вставляет строку с текущим временем в мою таблицу loginfo .Этот запрос успешно выполняется при вызове по имени CurrentDb.Execute
.
CurrentDb.Execute "qryAddLoginfoRow"
Я предполагаю, что либо queryname - это переменная, содержащая имя запроса, которого нет вКоллекция QueryDefs текущей базы данных, или queryname - это буквальное имя существующего запроса, но вы не заключили его в кавычки.
Редактировать : вам нужно найти способ принять, что имя_периода не существует в коллекции QueryDefs текущего БД.Добавьте эти 2 строки в код VBA непосредственно перед строкой CurrentDb.Execute
.
Debug.Print "queryname = '" & queryname & "'"
Debug.Print CurrentDb.QueryDefs(queryname).Name
Вторая из этих двух строк вызовет ошибку времени выполнения 3265, " Элемент не найден в этой коллекции. "Затем перейдите в окно" Немедленно ", чтобы проверить имя запроса, который вы задаете от CurrentDb
до Execute
.