多值...不能在WHERE或HAVING中使用

时间:2016-09-15 08:43:56

标签: ms-access-2010 multivalue

我不是一名访问专业人士,但是用它来帮助我让我的工作更轻松,所以请原谅我的术语。我会尽力解释。

我需要创建一个数据库来存储我们使用的供应商的联系方式和其他信息,特别是他们可以提供服务的服务和国家,但这些供应商中的一些可以在多个国家/地区提供服务,还可以提供多种服务。因此,我希望能够使用具有多值条目的列表以便于使用,并防止必须复制延期国家和服务的供应商条目。 (我可以这样做)

然后我需要创建一个搜索表单,对关键字,以及国家名称,服务或供应商名称进行搜索。我是根据以下从互联网上获得的代码做到的:

Private Sub Command9_Click()

Dim strsearch As String
Dim strText As String
strText = Me.TxtSearch.Value
strsearch = "SELECT * from Query1 where ((Decipline Like ""*" & strText & "*"") or (Country_OO Like ""*" & strText & "*""))"
Me.RecordSource = strsearch
End Sub

(搜索部分本身工作正常)

  

问题:当我尝试使用多值列表进行搜索时   框我收到以下错误:错误3831多值'Country_OO'   不能在WHERE或HAVING子句中使用。

Debug.Print strsearch SELECT * from Query1 where((Decipline like“a”)或(Country_OO like“a”))

我知道你们这里的大多数人都不是多值列表的粉丝,但在这种情况下它会很好用。有没有办法围绕这个或替代方案,你可以建议?也许我可以从列表中选择一种方式然后将txt仅添加到主文件中?

1 个答案:

答案 0 :(得分:1)

将您的(好!)问题标题直接引导至Google here,这表明

WHERE Country_OO.Value Like "*a*"

应该有用。

但不使用多值字段真的会更好。如初。