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

Multi-valued...cannot be used in a WHERE or HAVING

我不是访问专家,但使用它可以帮助我简化工作,所以请原谅我的术语。我会尽力解释。

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

然后我需要创建一个搜索表单,用于搜索关键字、国家名称、服务或供应商名称。我根据从互联网上获得的以下代码执行此操作:

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

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

The problem: When I try to use the search with the multi-valued list box I get the following error: Error 3831 the multi-valued 'Country_OO' cannot be used in a WHERE or HAVING clause.

Debug.Print strsearch SELECT * 来自 Query1 where ((Decipline Like "a") or (Country_OO Like "a"))

我知道在座的大多数人都不喜欢多值列表,但在这种情况下它会很有效。有没有解决这个问题的方法或您可以建议的替代方法?也许我可以从列表中 select 然后将 txt 仅添加到主文件?

将您的(好!)问题标题设为 Google 直接导致 here,这表明

WHERE Country_OO.Value Like "*a*"

应该可以。

但最好不要使用 multi-valued 字段。曾经.