VBA中的SQL-在变量中记录用户输入。

时间:2018-11-08 15:53:52

标签: sql vba ms-access-2016

我有一个查询,允许用户输入一个参数(即“ John Smith”,并在表单上返回结果。SQL:

SELECT Database.Contact_ID, Database.[Full Name], Institution.Institution, 
Database.Email, Database.[Email 2], Database.[Work phone], Database.[Work 
phone 2], Database.Mobile

FROM Institution INNER JOIN [Database] ON Institution.ID = Database.InstitutionLookup

WHERE (((Database.[Full Name]) Like "*" & [Enter Name] & "*"));

我想在结果表单上显示该输入。我已经研究过将SQL放入VBA模块中并将输入保存为变量,尽管这样做时会遇到很多运行时错误。

这可以纯粹在SQL中完成,还是使用VBA和/或宏的最佳选择?

谢谢您的建议。

1 个答案:

答案 0 :(得分:0)

感谢您的评论,如果有帮助,请发布我的答案。

最后,最简单的选择是使用一个未绑定的文本框创建一个新的弹出窗口。用户在此处输入搜索内容,并将查询更改为将该输入用于WHERE子句。然后,这可以让我在查询结果的表单上显示该输入。

在SQL中只需要进行一点更改:

SELECT Database.Contact_ID, Database.[Full Name], Institution.Institution, 
Database.Email, Database.[Email 2], Database.[Work phone], Database.[Work phone 2], 
Database.Mobile

FROM Institution INNER JOIN [Database] ON Institution.ID = Database.InstitutionLookup

WHERE ((Database.[Full Name]) Like "*" & Forms![Contact Search Mk 2]![Enter Name] & *");