2016-09-22 87 views
1

我創建了一個訪問2010搜索框,根據表格中的列篩選結果,然後根據查詢向我呈現結果。多個項目查找文本框

我想要實現的目標是能夠在搜索框中一次放入一件物品,但多件物品。 這是爲我管理的路由器的整個地產而且我每天都得到需要進行狀態檢查的路由器列表,所以我現在正在做的是在搜索框上覆制和粘貼每個路由器名稱,它給了我狀態,位置和電路參考,但我想要做的,我一次性複製和粘貼所有的路由器名稱,並獲得每個路由器的獨立結果。

這是我已申請在文本框中輸入過濾器的代碼:

Where Condition = [Circuit Reference] Like "*" & [Forms]![Query1]! [Text12] & "*" 

我可以添加多個文本框,並應用此過濾器給他們,但我仍然要複製和每個路由器粘貼名稱獨立。

我不是一個訪問專家如此appologies,如果這個問題太容易回答,但我無法找到任何在網絡上,幫助我與我的問題。

+0

爲什麼不使用組合框作爲過濾器?如果你有一個表中的所有路由器引用是一個好方法。 – LostReality

+0

,不會做伎倆,我認爲@LostReality,因爲我需要能夠複製和粘貼多達20個路由器名稱,並獲得獨立的結果,每個窗體內。 –

+0

你是什麼意思「獨立」的結果?他們都需要通配符搜索嗎?你想要粘貼什麼樣的字符串?逗號分隔,空格,新行,標籤? – Brad

回答

2

這聽起來像你想要在同一領域多個通配符搜索。您可以在SQL查詢中使用OR來完成此操作。

Dim strSearchConditions As String 
Dim strTerms() As String 
Dim strSQL As String 
Dim i as Integer 

strSearchConditions = "" 

strTerms = Split(Me.txtSearch,",") 'Assuming you separate your search terms with a comma 

For i = 0 To UBound(strTerms) 
    If Not strTerms(i) = "" Then 
     strSearchConditions = " OR [Circuit Reference] Like '*" & strTerms(i) & "*'" 
    End If 
Next i 

If Not strSearchConditions = "" Then 
    strSQL = "Select * FROM tblMyTable WHERE 1=1 AND (" & strSearchConditions & ")" 
Else 
    MsgBox "No search terms!" 
End If 
+0

我確實需要多個通配符,但術語不會被昏迷分離,它們每個都在一個新行中,並且每個通配符搜索的結果必須顯示在表單上。 以便更好地解釋事情: 我想輸入20個不同的路由器名稱,每個路由器名稱都在不同的文本行上。 當我點擊「查找」按鈕時,我希望窗體顯示router1的「主機名」,「狀態」和「帶寬」。 然後在下面,我需要相同的結果,但對於router2 ....等等... 我現在得到的只是一次一個項目的結果。 –

+2

除了上面解決方案中的Split功能之外,它不會改變任何內容。而不是逗號,查找換行符。嘗試在上面的代碼中用'Chr(13)&Chr(10)','vbCrLf'或'vbNewLine'(不含引號)替換「,」。 – SunKnight0