MS Access-[SQL]通过带有LIKE语句的搜索栏筛选列表

MS Access-[SQL]通过带有LIKE语句的搜索栏筛选列表,sql,ms-access,Sql,Ms Access,在我的MS Access表单上,我创建了一个带有按钮的文本框,可以根据输入的关键字搜索或过滤列表 我尝试的第一件事是: Private Sub search_Click() Dim mssql as String Dim keyword as String Me.searchbar.SetFocus keyword = Me.searchbar.Text mssql = " SELECT ID, LastName, GivenName FROM tNames WHERE LastName

在我的MS Access表单上,我创建了一个带有按钮的文本框,可以根据输入的关键字搜索或过滤列表

我尝试的第一件事是:

Private Sub search_Click()

Dim mssql as String
Dim keyword as String

Me.searchbar.SetFocus
keyword = Me.searchbar.Text

mssql = " SELECT ID, LastName, GivenName FROM tNames WHERE LastName = " & Chr(34) & keyword & Chr(34) & ";"
Me.list_1.RowSource = mssql
Me.list_1.Requery


End Sub
搜索功能运行得很好,但我想要更灵活的功能。所以我试着实现LIKE语句

不幸的是,我不知道如何在代码中正确实现LIKE变量

我会尝试这样的事情,但没有成功:

mssql = " SELECT ID, LastName, GivenName FROM tNames WHERE LastName LIKE "% & keyword & %";"

我真的很困惑:/

试试*通配符和撇号分隔符

从名称中选择ID、LastName、GivenName,其中LastName类似于“*&关键字&*”

但是,可以将SQL语句直接放在组合框设计中的RowSource属性中,方法是:

从tNames中选择ID、LastName和GivenName,其中LastName类似*&[searchbar]&*


然后,代码只需要重新查询组合框。

Hmm,不幸的是没有发生任何事情。单击不同的按钮可以触发多个行源。将此代码直接添加到rowsource属性不是我的选择。但无论如何谢谢你,奇怪的是,现在它的工作原理就像你在firat代码中写的一样。谢谢