Access 2016: теперь в форме отображаются результаты при использовании параметра запроса из включенного ComboBox.

Я бьюсь головой о стену, пытаясь решить что-то, что, я уверен, просто. Я использую Access 2016 и пытаюсь создать форму, которая по существу имеет поле со списком фильтров в заголовке.

Допустим, форма называется myForm, а поле со списком cboStatus. Запрос содержит поле, называемое статусом.

В моем запросе у меня есть SELECT * FROM myQuery WHERE [myQuery].[status]=[Forms]![myForm]![cboStatus]. В конце концов, я намерен добавить событие на основе VBA в COmboBox для обновления запроса при его изменении, но сейчас я выбираю значение и нажимаю «Обновить все» в форме, просто чтобы проверить его.

Независимо от того, какое значение у меня есть в ComboBox, в форме не отображаются записи. Что мне не хватает? Заранее спасибо!


person Dan James    schedule 12.01.2017    source источник


Ответы (2)


Если status является текстовым полем, вам нужно

SELECT * FROM myQuery WHERE [myQuery].[status]= "'" & [Forms]![myForm]![cboStatus] & "'"
person Skippy    schedule 12.01.2017
comment
Спасибо. К сожалению, это, кажется, не делает этого, на самом деле это в некотором роде ухудшает ситуацию. Раньше, если бы у меня было значение, установленное в поле со списком в форме (скажем, завершено), оно отображало бы только строки со статусом завершено, если бы я открывал запрос. Вот только в самой форме никаких результатов не показал. Если я добавлю кавычки, ни запрос, ни форма не отобразят никаких результатов. Статус — это строковая переменная, к вашему сведению. - person Dan James; 13.01.2017

Я думаю, что я решил это! Я не определял элемент формы (comboBox) как параметр в SQL-запросе. Добавление:

PARAMETERS [Forms]![myForm]![cboStatus] Text ( 255 );

вроде исправил! Хотел убедиться, что я ответил, если у кого-то еще такая же проблема!

person Dan James    schedule 13.01.2017