2016-12-06 243 views
0

我在多字段搜索表單中遇到了一些問題。我想通過我的表中的多個列進行搜索,但只使用一個搜索框。使用Access中的一個搜索框搜索多個字段

我在設計視圖中使用我的查詢和搜索表單工作,不知道如何蹲坐在SQL中,所以如果你能告訴我如何在設計視圖中做到這一點,那就太好了。

這是我有:表數據 -

enter image description here

搜索表單

enter image description here

所以我想要做的是能夠通過所有的器樂演奏家的搜索列,但不包括任何其他列(歌曲標題等),但僅使用一個搜索框搜索這些樂器演奏專欄中的條目。

所有其他搜索框只能通過它們各自的列進行搜索(歌曲標題搜索框搜索「歌曲標題」欄等)。現在,Instrumentalist搜索框只能搜索標有「Instrumentalist 1」的列。我不知道是否需要在搜索表單中更改「Instrumentalist」搜索框的屬性,或者更改查詢中的某些內容。

在查詢中,我在Instrumentalist框中使用Like "*" & [Forms]![SearchForm]![Instrumentalist 1] & "*"。是

屬性此框,如下所示:

名稱:器樂1

控制源爲空白。

格式爲空。

任何人都知道我該怎麼辦?

+0

所以,你要進入'text'在'器樂搜索box' ANS搜索該文本標題中的所有列有器樂,像'Instrumentalist1','Instrumentalist2 ''Instrumentalist3' bla bla – harun24hr

+0

@ harun24hr:是的,這是正確的。 – Jordan

+0

你能分享一個樣本文件嗎? – harun24hr

回答

0

您的表格設計存在缺陷 - 您擁有未知數量條目的所有應該不是列而是行。

應該有一個單獨的表「Instrumentalists」,與「歌曲」有一對多的關係。如果你不能改變你的設計,你可以使用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] & "*") 

但是正如你所看到的,如果你有很多列,它就變得相當可怕。

+0

我爲「Instrumentalists」創建了一個單獨的表格,並從「Songs」表格中創建了一對多的關係。它們通過歌曲標題字段鏈接。在查詢設計中,對於所有Instrumentalist字段,我使用'Like「*」&[Forms]![SearchForm]![Instrumentalist1]&「*」',並且所有其他搜索框都在工作,除了工具主義搜索框。查詢結果爲空,即使兩個表中的所有字段都有文本。 – Jordan

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.

+0

我試過了,它仍然沒有工作。例如,在您製作的部分中,在Instrumentalist的搜索框中,我在Instrumentalist2字段中的演奏家之一Delbert McClinton中鍵入。當我運行查詢時,什麼都沒有出現。 – Jordan

+0

但我剛纔試過,它顯示1條記錄。我不知道爲什麼它不適合你。 – harun24hr

+0

是否區分大小寫? – Jordan