Я пытаюсь получить доступ к запросу с помощью кода VBA. Кажется, я сделал это так 100 раз. Мой код (на командной кнопке) начинается так:Ошибка при использовании QueryDefs для возврата Recordset
Dim rstDocCount As Recordset
Set rstDocCount = CurrentDb.QueryDefs("DocCount").OpenRecordset
rst.MoveFirst
Я получаю сообщение об ошибке:
Ошибка выполнения «3061»: Слишком мало параметров. Ожидаемые 1.
Линия Set rstDocCount
подсвечена желтым цветом.
Что я делаю неправильно? Единственным параметром должно быть имя запроса, и я это четко понимаю.
Открыть запрос в окне базы данных. Он покажет вам, какое поле неверно или какой параметр отсутствует. – Fionnuala
Нет проблем с запросом. Я могу открыть его, пока форма открыта, из которой этот код работает. В запросе есть параметр Forms! Boxing! BoxID (Бокс - текущая форма). Мое подозрение в том, что vba по какой-то причине не может прочитать это поле. Я обнаружил, что если я заменю запрос другими запросами, использующими параметр в форме бокса, я получаю ту же ошибку. Если я заменил его более простым запросом, проблем не будет. Поэтому я думаю, что мне нужно, чтобы запрос показывал каждую запись, а затем прокручивал их, чтобы получить тот, который соответствует BoxID в моей форме. –
Вам просто нужно установить параметр. Смотри ниже. – Fionnuala