在Access VBA中,如何保持文本框处于活动状态,并在输入键后选择其所有内容

在Access VBA中,如何保持文本框处于活动状态,并在输入键后选择其所有内容,vba,ms-access,textbox,Vba,Ms Access,Textbox,在Access窗体中,我使用文本框过滤未绑定的子窗体。我希望允许最终用户快速执行快速顺序搜索。按下Enter键执行第一次搜索后,我希望光标/焦点保留在文本框中,并选择当前搜索文本。通过这种方式,用户可以直接开始输入新的查询,替换旧的搜索文本 我试着回答这个问题,但由于回车键,选择总是丢失:我想出的解决方案是截取回车键。必须取消事件,否则回车键将删除选择 Private Sub txtSearch2_KeyDown(KeyCode As Integer, Shift As Integer)

在Access窗体中,我使用文本框过滤未绑定的子窗体。我希望允许最终用户快速执行快速顺序搜索。按下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