【问题标题】:To to move to a new tab after selecting an option for a combo box为组合框选择选项后移动到新选项卡
【发布时间】:2013-03-14 11:34:46
【问题描述】:

我有一个包含按选项卡组织的子表单的表单。我想要做的是在输入新记录时更新字段后,将用户重定向到表单中的选项卡。

这可能是现有的代码。

Private Sub FIELD1_AfterUpdate()

If Me.FIELD1.Value = "Yes" Then

Me.Parent.TabCtl50.Value = 4

End If

End Sub

它给出错误“应用程序定义或对象定义错误”

有什么想法吗?

【问题讨论】:

    标签: vba ms-access


    【解决方案1】:

    可以参考 pages 属性:

     Me.Parent.TabCtl50.Pages(4).SetFocus
     Me.Parent.TabCtl50.Pages("PageNameHere").SetFocus
    

    【讨论】:

    • 谢谢你,但它给出了同样的问题,我认为它导致了这个错误,因为我试图将用户重定向到不同的 subfrom 而不先保存数据.....
    • 不,不保存不会导致该错误。该错误可能是由于以某种方式将名称弄错了。例如,您确定 me.parent 有 TabCtl50 吗?您可以使用即时窗口进行测试。请注意,页面从零开始编号。
    • 您可以尝试按名称引用父表单,以查看问题是否与Me.Parent 有关,例如MyParentFormName.TabCtl50.Pages("PageNameHere").SetFocus
    • @SoupyC 是的,只要无效名称不是 TabCtl50。在大多数情况下,我认为找出问题发生的原因而不是解决问题是明智的。我测试了这个例子,所以只要名称正确并且代码在包含选项卡控件的表单的子表单中运行,它就可以工作。当他们只有 tabcontrol 时,人们认为他们有一个子表单并不罕见,在这种情况下,您不需要对 parent 的引用。
    • 我知道它是什么,我在 AfterInsert 事件中有代码,当我转到 BeforeInsert 事件时,它解决了所有问题。感谢大家的帮助!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多