在Access表单中,我正在使用文本框过滤未绑定的子表单。我想允许最终用户快速执行快速顺序搜索。按下Enter键执行第一次搜索后,我希望光标/焦点保留在文本框中,并选择当前的搜索文本。这样,用户可以直接开始输入新的查询,替换旧的搜索文本。
我尝试了this问题的答案,但是由于 Enter 键,选择始终会丢失:
答案 0 :(得分:2)
我想出的解决方案是拦截 Enter 键。取消该事件很重要,否则 Enter 键将删除选择。
Private Sub txtSearch2_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyReturn Then
Call Search
If Len(Me.txtSearch2.Text & "") = 0 Then Exit Sub
Me.txtSearch2.SelStart = 0
Me.txtSearch2.SelLength = Len(Me.txtSearch2.Text)
DoCmd.CancelEvent
End If
End Sub