访问VBA:没有焦点的组合框下拉?

时间:2018-03-27 20:00:39

标签: vba ms-access access-vba

VBA新手在这里学习。我有一个带有组合框控件Staff_Name的Access表单,它有一个查询名称的下拉列表 - 关于该部分的所有内容都可以正常工作。我现在想要的是当用户将光标放入框中而不是必须单击字形时发生下拉列表。经过一些研究(包括this并将控件类型从列表框切换到组合框)我试过了:

Private Sub Staff_Name_GotFocus()
    Staff_Name.Dropdown
End Sub

问题是当表单打开而不是等待我将光标放入框中时会发生下拉列表。与此同时,我尝试将焦点设置在OnLoadOnOpen事件中的不同控件上并截取焦点,但它对结果没有任何影响。我也尝试使用OnClick事件,但后来根本没有发生下拉动作,这特别奇怪。

当有人将光标放入Staff_Name组合框时,如何进行下拉操作?我打赌我误解了“焦点”是什么。

编辑:使用成功的MouseDown发布found an alternative solution后。一些评论者无法复制我原来的问题,这仍然让我好奇发生了什么......

1 个答案:

答案 0 :(得分:0)

尝试创建空表单,放置文本框,将该文本框的“Tab Index”设置为0(默认情况下它应该为0,但以防万一...),放置组合框,设置vba“On got focus”到Combo1.Dropdown。当带有“Tab Index”0的表单加载文本框将首先获得焦点时,当您选择下一个“Tab Index”获得焦点并且您的下拉列表应该执行时。我使用0高度,宽度,左边和顶部的空文本框来打开我的表单而不在任何文本框上突出显示。

相关问题