2016-12-08 2 views
0

Я создал базу данных Access, которая включает в себя форму навигации. Одна из форм включает комбинированное поле и командную кнопку, которая при нажатии открывается отчет, отфильтрованный на основе значения в поле со списком. Вот немного упрощенная версия запроса, у которого есть проблема:Доступ к параметру запроса с использованием элемента управления на основе навигации

SELECT * 
FROM tbl 
WHERE site Like "*" & [Forms]![NavigationForm]![NavigationSubform].[Form]![comboBox] & "*"; 

До сегодняшнего дня это работало нормально. Теперь, когда нажата кнопка, появляется окно ввода, запрашивающее значение для указанного параметра ([Forms]! [NavigationForm]! [NavigationSubform]. [Form]! [ComboBox]). На самом деле я работаю над интерфейсом базы данных split, и копия базы данных все еще работает нормально и имеет то же самое, что и условие. Имя поля со списком не изменилось. У меня действительно есть эта проблема со всеми элементами управления в любой подформатике навигации. Когда проблема возникает в коде VBA, я могу изменить ее на Me.comboBox, но это не будет работать в параметре запроса.

Поскольку это работает с копией базы данных (но без каких-либо изменений в других формах, которые я бы предпочел не воссоздать), но не на этом, я не уверен, в чем проблема, если что-то не является в корне неправильно с этой копией. Есть ли способ узнать, что могло пойти не так? Или любой путь вокруг этой проблемы?

+0

Привет, не могли бы вы добавить код кнопки? – Lybren

+0

В этом случае на самом деле не используется код VBA, а только встроенный макрос, который открывает отчет. Запрос, на котором основан отчет, - это то, что терпит неудачу - я обновил выше, чтобы включить полный запрос (упрощенная версия) – rgoetz

ответ

0

Я изменил название своей навигационной формы, и теперь все работает. Я до сих пор не понимаю, почему это изменило ситуацию, поскольку прежнее название формы работало до последней недели, но пока это работает, я счастлив.

0

Итак, вы используете макросы, и в этом случае ваша начальная ссылка немного выключена.
Насколько вы описали, вы получили навигационную форму, и в ней, очевидно, есть навигационная форма, которая представляет собой комбобокс, который не связывает его значение должным образом.
Правильно означает, что вам нужно ввести значение самостоятельно, потому что элемент управления не существует или не найден.
В моих тестах я смог ссылаться через этот макрос, используя openreport.
enter image description here
Вы используете текст, чтобы получить то, что написано в комбо, используйте значение, чтобы получить базовый код при использовании скрытых столбцов.

EDIT:

У вас есть дополнительный вид подкласс в где заявление.

SELECT * 
FROM tbl 
WHERE site Like "*" & [Forms]![NavigationForm]![NavigationSubform]![comboBox].Text & "*"; 
+0

Все еще ничего - я добавил эту строку в макрос и все еще получаю всплывающее окно с запросом параметра стоимость. И, как я уже упоминал выше, эта точная комбинация запросов/combobox/button/macro отлично работает на старой версии базы данных. – rgoetz

+0

Итак, теперь я уверен, что 100% проблема в SQL вашего запроса. Включите запрос источника отчета. – Lybren

+0

Это вопрос выше. – rgoetz

Смежные вопросы