2017-02-17 23 views
0

我有一個訪問2016年表格與5文本框標記爲txtprod,txtpri,txtcnt,txtph,txtmfg。我也有一個查詢我的表的產品名稱,價格,數量,電話和製造商領域。訪問2016 - 多個文本字段 - 搜索當你鍵入不工作

在我的表單5文本框中,我希望能夠在鍵入時自動搜索並讓我的列表自動填充。

我跟着這些教程 https://www.youtube.com/watch?v=SJLQqwMOF08 https://www.youtube.com/watch?v=MwaRFjgwBW8

我的形式所具有的形式負載:

*私人小組的Form_Load() 昏暗的任務作爲字符串 任務= 「SELECT * FROM pricingdata」 我!詳細資料.RowSource =任務 End Sub *

而我的文本框名稱有這個事件「on change」

*私人小組txtprod_Change() 昏暗任務作爲字符串 任務= 「SELECT * FROM [pricingdata] WHERE([產品名稱] LIKE '」& Me.txtprod.Text &「');」 Me!details.RowSource =任務 End Sub *

按我的類型搜索工作完全正常,只有一個文本框。但是,當我將下面的代碼添加到我的製造商文本框事件「on change」時,它無法按預期工作。

*私人小組txtmfg_Change() 昏暗任務作爲字符串 任務= 「SELECT * FROM [pricingdata] WHERE([摘要] LIKE '」& Me.txtmfg.Text &「');」 Me!details.RowSource =任務 End Sub *

現在,當我輸入我的產品名稱文本框時,它搜索的產品就好了。當我開始在我的製造商文本框中輸入內容時,它完全忽略了我放入產品名稱文本框中的任何內容,並開始搜索,因爲我僅爲製造商文本框字段中的文本輸入內容。

如何獲得此設置,以便所有5個文本框字段中的所有文本都有助於將搜索過濾器應用於我的列表?

回答

0

就是這樣。 。 。

Private Sub ComboSelect_Change() 

    ' You need to use String delimiters if you want to use a Text Field like: 
    ' Me.Filter "[ATextFieldInRecordSource] = """ & Me.FilterComboBox & """" 

    ' For a Numeric Field, use something like this: 
    ' Me.Filter "[ANumericFieldInRecordSource] = " & Me.FilterComboBox 
    ' Me.FilterOn = True 

    Me.[Customer_Query subform1].Form.Filter = "[Company_Name] Like '*" & 
        Replace(Me.ComboSelect.Text, "'", "''") & "*'" 
    Me.[Customer_Query subform1].Form.FilterOn = True 

End Sub 

Notice a few things: 

    The subform is named Customer_Query subform1’ 
    The combobox is named ComboSelect’ 
    Finally, the ‘like clause’ is used in combination with the wildcard character. 
    Like '*" & Replace(Me.ComboSelect.Text, "'", "''") & "*'" 

當您在組合框中鍵入文本時,動態地重新查詢子窗體中的結果。

enter image description here