Access 2016 在 SQL 查询中使用组合框

Access 2016 Using combobox in SQL query

我正在尝试创建一个查询,该查询使用单个组合框的 selection 作为 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]);

'Keyword Search Mk 2' 表单是一个简单的弹出式表单,带有允许用户select 所需关键字的组合框。我可以 select 表单中的关键字,但是当我 运行 搜索时,结果是空的。

之前的 WHERE 子句是:

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

这有同样的问题。我也试过指定列号,例如

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

再次失败。

感谢任何建议,谢谢。

根据评论中的对话,当一条记录被选中时,ComboBox 控件的值将等于 Row Source 中对应于绑定列号的字段的值。

例如,如果您的行源数据集包含三个字段并且绑定列设置为 2,则数据集中第二个字段的值将由表达式 [Forms]![YourFormName]![YourComboBox] 返回。