我写了一个组合框模糊搜索,几乎可行。
问题?当我输入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