2016-06-28 131 views
1

我對Access非常陌生,在解決如何執行搜索時遇到了一些麻煩。 我有一個表,其中包含多個字段和一個名爲「串行」的主鍵字段的記錄。如何在Microsoft Access 2010中使用表單搜索表格並在報表中顯示結果

我已經創建了一個鏈接到此表的表單,它包含的所有表單都是一個文本框和一個按鈕,用戶可以在其中鍵入任何單詞或序列號以及任何內容,並且將搜索包含字段與輸入的標準相匹配。

我已經到了可以搜索整個表格的位置,並找到任何匹配的記錄,但我無法弄清楚如何將這條記錄(和任何其他匹配的記錄)發佈到新創建的報告中,以便用戶可以看到符合其標準的所有結果。

我擁有的代碼是這樣的,輸出只給出一個空白報告。

msgbox行始終爲每個搜索輸出正確的序列號。

我認爲這個問題與DoCmd.OpenReport行有關。

Do While Not rs.EOF 'iterate through table and check all fields 
For Each Field In rs.Fields 
    If Field = SearchBar.Value Then 
     found = True 
     MsgBox (rs.Fields("Serial")) 'debugging 
     **DoCmd.OpenReport "Asset Inv", acViewReport, , "[Serial] = '" & rs.Fields("Serial") & "'"** 
     Exit For 
    End If 
Next Field 

If found Then 
    Exit Do    
Else 
    rs.MoveNext 
End If 
Loop 

感謝您的幫助!

+0

'Serial'是一個字符串?是否有錯誤處理程序?詢問參數(打字)?你應該考慮使用過濾器,而不是通過rs循環。遍歷查詢的字段並將其合併到過濾器中。 'strFilter = strFiler&「[」&rs.Fields.Name&「] ='」&SearchBar。值&「'OR」' – BitAccesser

回答

1

如果您想根據一個關鍵字執行以下步驟中的多個字段進行搜索:

1 - 假設我們有如下表希望在多個領域

2-打開使用要搜索的關鍵字查詢設計並選擇表你想搜索這

3 - 添加字段添加到查詢通過後海灣幹線單擊所需的字段

4單擊空白欄,轉到設計選項卡

5保存您查詢

5 - 單擊生成器

6 - 選擇你保存的查詢從列表中

7 - 選擇字段您要搜索的和追加他們

concatinate Fields That You Want Search in

8-現在你有新的列包含所有所需的字段

9現在在標準部分類型類似於 「」+ [] +「

10運行查詢

Write "Like" Sql Command And Run Query

享受...

+0

我在步驟8之後沒有得到有效的搜索。在將其連接到表單搜索框之前,我運行查詢本身並手動鍵入搜索詞,並且我沒有得到任何結果。 – Jtt3mr

+0

請注意,如果您有數字字段,您必須將它們轉換爲字符串值..您可以使用str([NumericFieldName]),然後與其他字段 –

相關問題