需要在SetFocus之后自动编辑SubForm中的Access TextBox

时间:2016-09-02 18:14:19

标签: ms-access access-vba tabcontrol

我尝试将TabControls用于Access窗体中的子窗体。

我在TabControl的页面上嵌入了一个子表单。我尝试从主窗体中的最后一个数据输入字段移动到子窗体中的第一个数据输入字段。

当我将SetFocus设置为子窗体中的Control时,它不允许在不单击TextBox的情况下进行编辑。是否有立即启用编辑的命令?

Private Sub ReadDate_AfterUpdate()
  Dim myControl As Control
  Set myControl = Forms!Data_Input!BOD_Data_Subform!textBoxToEdit

  myControl.SetFocus
End Sub

提前感谢任何建议。

1 个答案:

答案 0 :(得分:1)

从主窗体中选择子窗体上的控件需要两个步骤
按顺序执行以下操作:

  • 选择子窗体控件。
  • 选择适当的控件 窗体。

示例代码

Private Sub ReadDate_AfterUpdate()
  Dim myControl As Control

  ' Select the subform control first
  Forms!Data_Input!BOD_Data_Subform.SetFocus
  Doevents

  ' Select the control on the subform.
  Forms!Data_Input!BOD_Data_Subform.Form!textBoxToEdit.SetFocus
End Sub

*编辑*

如果主窗体中没有TabControls,我怀疑答案会有效。这是一个由两部分组成的过程,但在这种情况下,第一步是:

Forms!Data_Input!subDataTabControl.Pages(0).SetFocus

其中subDataTabControl是Tab Control的名称,0表示页面索引。