问题描述
我的用户表单中有十多个需要日期的文本框,它们被分成 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。