2014-03-27 25 views
0

我試圖在名爲「ItemSpecs」的表中搜索名爲「Model」的字段,但我無法爲我的生活弄清楚,我還沒有能力在谷歌上找到任何例子。除了搜索字段之外,我還試圖添加不同的搜索方法(例如「包含」,「不包含」,「開始於」和「結束於」)。MS Access高級文本在目標表中的單個字段上的搜索

我有什麼到目前爲止

到目前爲止,我下面的,但它是所有測試,下拉項目選擇(工作!)。

我仍然需要

從我讀,我將需要查詢的表格,並把它變成一個vbRecordSet然後搜索,要得到我想要什麼?我認爲下面的框架代碼將使我能夠做到這一點,一旦我可以弄清楚如何將查詢結果存入記錄集,然後弄清楚如何查詢它。

備註:

感謝您的幫助!伊馬繼續工作這個該死的東西,但如果有人能在我面前發現它會很好。

Private Sub Button_Search_Click() 
    If Len(Me.Search_Text.Value & vbNullString) = 0 Then 
     MsgBox "No Value" 
    Else 
     If Me.Search_Preferance.Value = "Starts with" Then 
      MsgBox "Starts with" 
     ElseIf Me.Search_Preferance.Value = "Ends with" Then 
      MsgBox "Ends with" 
     ElseIf Me.Search_Preferance.Value = "Contains" Then 
      MsgBox "Contains" 
     ElseIf Me.Search_Preferance.Value = "Doesn't contain" Then 
      MsgBox "Doesn't contain" 
     Else 
      MsgBox "Invalid Seach Preference Selected." 
     End If 
    End If 
+2

如果您的目標是顯示那些符合您搜索條件的字段的記錄,請使用SELECT查詢(而不是將表加載到記錄集中,然後搜索記錄集)。 – HansUp

+1

它幾乎看起來像你指的是[通配符](http://allenbrowne.com/ser-62.html)? –

回答

3

我假設你所在的記錄源設置爲「ItemSpecs」(或基於關閉該表,其中包括列之一是「模式」的選擇查詢)在窗體上這樣做:

Private Sub Button_Search_Click() 
    If Len(Me.Search_Text.Value & vbNullString) = 0 Then 
     Me.FilterOn = False 
     Me.Filter = vbNullString 
    Else 
     Dim Txt As String 
     Txt = Me.Search_Text.Value 
     Select Case Me.Search_Preferance.Value 
     Case "Starts with": Me.Filter = "Model Like """ & Txt & "*""" 
     Case "Ends with": Me.Filter = "Model Like ""*" & Txt & """" 
     Case "Contains": Me.Filter = "Model Like ""*" & Txt & "*""" 
     Case "Doesn't contain": Me.Filter = "Model Not Like ""*" & Txt & "*""" 
     Case Else 
      MsgBox "Invalid Seach Preference Selected." 
     End Select 
     Me.FilterOn = True 
    End If 
End Sub 
+0

其實我現在所擁有的只是一個名爲「Search_Results」的空列表框。但是,這是一個巨大的幫助:)如果我想出來,我會讓你的答案作爲答案:) – user1451070