如何在我的用户表单的多页中找到文本框?

问题描述

我的用户表单中有十多个需要日期的文本框,它们被分成 5 页的多页。

用户可以通过用户表单保存更新之前,我遍历所有控件并检查日期格式(除其他外)。如果识别出不正确的日期格式,用户将无法保存更新,并且会出现一个解释错误的消息框。我想将焦点设置到有问题的文本框,这样用户就不必自己搜索表单来查找错误

TextBox.Setfocus 方法在 MultiPage 中不起作用,我需要的页面是可变的,具体取决于哪个文本框填充不正确。我如何识别文本框所在的页面并设置焦点?

解决方法

不是最优雅的解决方案,但应该达到目的:

Private Sub SetFocusOnPage()
    Dim i As Integer,numberOfPages As Integer

    numberOfPages = 5

    For i = 0 To numberOfPages - 1
        On Error Resume Next
            Me.MultiPage1.Value = i
            Me.CommandButton2.SetFocus
        If Err.Number = 0 Then Exit For
    Next i
End Sub

用您的控件替换 MultiPage1 和 CommandButton2。