【发布时间】:2018-03-11 20:10:06
【问题描述】:
我有一个访问表单,上面有大约 7 个标签。 当我单击其中一个选项卡时,由于某种原因,窗口会自动打开到页面的最底部。
我真的不确定是什么原因造成的...没有 VBA 代码说明这样做。
我尝试实现此代码:
Private Sub Incident_Information_Click()
Forms![PIR Form].[Claim Number].SetFocus
End Sub
还有:
Private Sub TabCtl0_Click()
If Me.TabCtl0.Value = 2 Then
Forms![PIR Form 2].[Claim Number].SetFocus
End If
End Sub
我希望当用户转到“事件信息”选项卡时,窗口会自动设置为第一个控件(在本例中为名为“索赔编号”的文本框)。
有时这有效,有时无效。大多数情况下,屏幕仍会向下滚动到表单底部。
有人可以帮忙吗?我不知道是什么导致了这个问题以及如何纠正它。
【问题讨论】:
-
所以这是一个普通的 Tab 控件,而不是一个 Navigation 表单?表单最初可以正确打开,但在单击选项卡时会滚动?第一个控件 TabIndex 是否设置为 0?子表单在单一视图中?不查看对象真的很难分析设计问题。
-
正确,只是一个普通的选项卡控件。其他选项卡很短,只有几行,但给我带来问题的选项卡要长得多,需要您向下滚动才能查看所有内容。这就是问题所在。如果选项卡较短,我不会在意屏幕是否跳到底部,因为用户不必向上滚动,但由于此选项卡较长,它会强制用户向上滚动。
-
听起来这个选项卡的选项卡顺序关闭了,即底部的控件是选项卡顺序中的第一个,因此它获得了焦点。
-
没有回答关于 TabIndex 的问题。建议您检查该属性。
-
您能添加一些带有工作和不工作示例的屏幕截图吗?
标签: vba ms-access ms-access-2010