使用Access

时间:2016-12-06 00:53:01

标签: ms-access search

我的多字段搜索表单有点麻烦。我想在我的表中搜索多个列但只使用一个搜索框。

我正在使用我的查询和搜索表单在Design View中工作,并且不知道如何深入了解SQL,所以如果你能告诉我如何在设计视图中做到这一点会很棒。

这就是我所拥有的:表格数据 -

enter image description here

搜索表单

enter image description here

所以我想要做的是能够搜索所有的Instrumentalist列,同时排除任何其他列(歌曲标题等),但只使用一个搜索框来搜索那些乐器列中的条目。

所有其他搜索框仅搜索各自的列(歌曲标题搜索框在“歌曲标题”栏中搜索等)。现在,Instrumentalist搜索框只搜索标有“Instrumentalist 1”的列。我不知道是否需要在搜索表单中更改“工具主义”搜索框的属性,或者在查询中更改某些内容。

在查询中,我正在使用Like "*" & [Forms]![SearchForm]![Instrumentalist 1] & "*"作为乐器主义者框。

此框的属性如下:

姓名:乐器演奏家1

控件来源为空白。

格式为空白。

任何人都知道我应该做什么?

2 个答案:

答案 0 :(得分:0)

您的表格设计存在缺陷 - 您拥有未知数量条目的所有内容都不应该是列而是行。

应该有一个单独的表格"乐器演奏者",来自"歌曲"的一对多关系。

如果您无法更改设计,可以使用OR

... WHERE ([Instrumentalist 1] Like "*" & [Forms]![SearchForm]![Instrumentalist 1] & "*" 
        OR [Instrumentalist 2] Like "*" & [Forms]![SearchForm]![Instrumentalist 1] & "*" 
        OR [Instrumentalist 3] Like "*" & [Forms]![SearchForm]![Instrumentalist 1] & "*") 

但正如你所看到的,如果你有很多专栏,那就太可怕了。

答案 1 :(得分:0)

从以下链接下载文件。它应该适合你。

File Download Link

注意: In table no field can't be empty. At least you have to set default value or entry * (star) or any other value. Otherwise query will not work properly.