我寫了一個組合框模糊搜索,幾乎可行。
問題?當我輸入2個字符時,它只看到1.MS Access組合框模糊搜索
這是我在「KeyPress」事件組合框中的代碼。
Private Sub cmbBASELINE_SEARCH_KeyPress(KeyAscii As Integer)
Dim strSQL As String
strSQL = "SELECT tbl_COB_CAT.COB_ID, tbl_COB_CAT.BASELINE " _
& "FROM tbl_COB_CAT " _
& "WHERE tbl_COB_CAT.BASELINE Like '*" & Me.cmbBASELINE_SEARCH.Text & "*'" _
& "ORDER BY tbl_COB_CAT.BASELINE; "
Debug.Print strSQL
Select Case KeyAscii
Case 65 To 90, 48 To 57, 8 ' A-Z, 0-9 and backspace
'Let these key codes pass through
Me.cmbBASELINE_SEARCH.RowSource = strSQL
Me.cmbBASELINE_SEARCH.Dropdown
Case 97 To 122, 8, 127 'a-z, backspace and delete
'Let these key codes pass through
Me.cmbBASELINE_SEARCH.RowSource = strSQL
Me.cmbBASELINE_SEARCH.Dropdown
Case Else
'All others get trapped
KeyAscii = 0 ' set ascii 0 to trap others input
End Select
End Sub
例如,如果我輸入「CAB」它搜索CA 如果我輸入「25」的搜索
什麼我需要做的就是它是更準確? 此外,如果我刪除組合框中的文本,它應該使所有縮小的值 - 重新出現在下拉菜單中,但我必須再次點擊「退格」以使過濾列表恢復正常。
我錯過了什麼?
我喜歡它!完全按照預期運行。 – monty327