如何在设计模式下动态选择表单控件?

时间:2018-04-05 15:01:24

标签: vba ms-access access-vba

我正在MS Access / VBA中编写代码,将另一个Form从Normal Mode更改为Design Mode,然后尝试选择TextBox控件并将其更改为Combobox。

我现在面临的问题是,我无法找到SetFocus到这个控件的方法。在普通模式下,我可以写:

Form_Name.Control.SetFocus

但是当此表单处于设计模式时,该代码不起作用。另一种将Setfocus(通过VBA)设置为此控件的方法,在设计模式下的另一种形式,例如在设计模式下进行编辑时在该控件中手动单击?

**编辑:**正确的是在设计模式中选择特定的表单控件而不是将其设置为焦点

1 个答案:

答案 0 :(得分:1)

您可以在Design View中通过在每个控件上设置InSelection属性来包含/排除当前选择中的控件。

以下VBA代码取消选择所有控件,然后选择指定的控件:

Function SetSelection(frm as Form, CtlToSelect as Control)
    Dim ctl as Control

    'Deselect All Controls
    For Each ctl in frm.Controls
        ctl.InSelection = False
    Next

    'Select Specified Control
    CtlToSelect.InSelection = True
End Function

有关详细信息,请参阅MSDN上的InSelection Property文档(即使这适用于Access 2003,它也适用于更高版本)。