Access 2016 Использование комбинированного списка в запросе SQL - PullRequest
0 голосов
/ 20 ноября 2018

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

Запрос:

SELECT Database.Contact_ID, Database.[Full Name], Database.[Job Title], 
Institution.Institution, Database.Email, Database.[Email 2], Database.[Work 
phone], Database.[Work phone 2], Database.Mobile, Database.Notes, Database. 
[Date created], [Keyword Junction].Keywords, Database.[Record Type]

FROM Institution INNER JOIN (Keywords INNER JOIN ([Database] INNER JOIN 
[Keyword Junction] ON Database.[Contact_ID] = [Keyword Junction].Contact_ID) 
ON Keywords.Keyword_ID = [Keyword Junction].Keywords.Value) ON 
Institution.ID = Database.InstitutionLookup

WHERE ((Keywords.Keyword)=[Forms]![Keyword Search Mk 2]![SelectKeyword]);

Поиск по ключевому слову Mk 2'Форма - это простая всплывающая форма со списком, которая позволяет пользователю выбрать нужное ключевое слово.Я могу выбрать ключевое слово в форме, но при запуске поиска результаты пусты.

Предыдущее предложение WHERE было:

WHERE ((Keywords.[Keyword]) Like "*" & [Forms]![Keyword Search Mk 2]! 
[SelectKeyword]  & "*");

Это имело ту же проблему.Я также попытался указать номер столбца, например

WHERE ((Keywords.[Keyword]) Like "*" & [Forms]![Keyword Search Mk 2]! 
[SelectKeyword].[Columns](1)  & "*");

Снова без удачи.

Ценю любые предложения, спасибо.

1 Ответ

0 голосов
/ 21 ноября 2018

В соответствии с диалогом в комментариях, при выборе записи значение элемента управления ComboBox будет равно значению поля в источнике строки, которое соответствует номеру связанной колонки.

Например,, если ваш набор данных Source Row содержит три поля и столбец Bound Column установлен на 2, значение второго поля в наборе данных будет возвращено выражением [Forms]![YourFormName]![YourComboBox].

...