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

时间:2018-11-20 12:43:56

标签: vba ms-access-2016

我正在尝试创建一个查询,该查询使用单个组合框的选择作为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 :(得分:0)

根据注释中的对话,选择一条记录后,ComboBox控件的值将等于“行源”中与“绑定列号”相对应的字段的值。

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