MS-Access 2010:在不选择/突出显示字段内容的情况下设置焦点

MS-Access 2010: setting focus without selecting / highlighting field contents

我正在寻找的是 通过使用 vba 取消选择/取消突出显示字段的内容,就像用户在该字段中用鼠标单击一样。也许解决方案太容易了,以至于无法在论坛中找到它的方式?简单的目标,但似乎很难实现。 SendKeys 总是出错。 .OnClick 属性 不模拟点击,只是告诉点击时要做什么。

我的表单(主表单和子表单)有很多字段,焦点根据字段值在这些字段之间移动。为此,我正在使用 xyz**.SetFocus** 到目前为止工作正常,但在许多领域,用户应该能够立即通过键盘编辑内容,而无需先用鼠标点击该领域。键盘箭头应移动光标,而不是突出显示下一个或上一个字段。组合框字段根本不应突出显示。

有一个数据库选项(File/Options/Client 设置/)应该通过选择 "Go to start of field" 或 "Go to end of field" 来启用它。但是,这不适用于组合框字段(视觉效果不好)。此外,不应为整个数据库设置此选项,而应根据获得焦点的表单设置,最好是在获得焦点的字段及其内容上设置。

您可以使用 .SelStart and .SelLength 属性。

With Me.myCombobox
    .SetFocus
    .SelStart = 0
    .SelLength = 0           ' Nothing selected
End With

With Me.myCombobox
    .SetFocus
    .SelLength = Len(.Text)  ' Content selected
End With