通常,当用户从搜索字符串中看到结果时,会出现组合框下拉菜单,自然的响应是向下箭头以找到它们精确定位的结果。防止向下箭头或向上箭头更新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