通常,當用戶從搜索字符串中看到結果時,會出現組合框下拉菜單,自然的響應是向下箭頭以找到它們精確定位的結果。防止向下箭頭或向上箭頭更新MS Access中的組合框
但是,如果我的用戶單擊向下箭頭,它將更新組合框,從而不會按預期跳轉到記錄。我想限制組合框僅在用戶點擊「Tab」,「Enter」或鼠標單擊時才檢測更新。
我寫的組合框搜索功能完美無缺。
這是我在On鍵,向上事件
Private Sub cboGCPC_Search_KeyUp(KeyCode As Integer, Shift As Integer)
Dim strSQL As String
strSQL = "SELECT * " _
& "FROM qryGCPC_Search " _
& "WHERE [DocumentNumber] Like '*" & Me.cboGCPC_Search.text & "*' OR [Description] Like '*" & Me.cboGCPC_Search.text & "*' OR [Vendor] Like '*" & Me.cboGCPC_Search.text & "*' OR [Receiver] Like '*" & Me.cboGCPC_Search.text & "*';"
Debug.Print strSQL
Me.cboGCPC_Search.RowSource = strSQL
Me.cboGCPC_Search.Dropdown
End Sub
我想我知道你在做什麼,但有點不清楚你的意思是'更新'。 「如果我的用戶點擊向下箭頭,它會更新組合框,」「限制組合框只感知更新......」。 cbo正在更新每個擊鍵是不是? 「Tab」,「Enter」或鼠標點擊會發生什麼? – wazz
爲了澄清,我指的是會導致組合框「失去焦點」的擊鍵。一旦焦點丟失,組合框被視爲更新。這又會觸發AfterUpdate事件。當用戶輸入「關鍵事件」時,組合框還沒有成熟。但是,當用戶單擊向下箭頭(或輸入或選項卡,或單擊鼠標)組合框* IS *被認爲已更新,因爲它失去了組合框的焦點。必須有一種方法來捕獲向下箭頭鍵或向上箭頭鍵,以便在用戶使用向上或向下鍵進行掃描時觸發AfterUpdate事件。 – monty327