创建消息框

时间:2015-09-14 19:50:35

标签: ms-access access-vba ms-access-2010

在Access 2010中,当用户在组合框(ProductType)中选择特定文本(Real Estate)时,我需要弹出一个消息框。

简而言之......如果用户输入的[ProductType]是可用的多个“房地产”选项中的任何一个,则显示一个消息框,其中指出“用户必须完成RESPA跟踪”,然后将其指向页面(标签)以完成其他文本字段。

我已将以下代码附加到组合框的BEFORE UPDATE函数中。但是这只会创建消息,它不会将它们指向需要输入的选项卡/字段。

Private Sub ProductType2_BeforeUpdate(Cancel As Integer)
Dim strPrompt As String

strPrompt = "The Product Type selected is Real Estate.  The RESPA Tracking tab MUST be completed at time of App Entry and validated during Underwriting."
If Not IsNull(Me.ProductType2.Value) Then
    If Me.ProductType2.Value Like "Real Estate*" Then
        Cancel = (MsgBox(strPrompt, vbOK) = vbNo)
    End If
End If
End Sub

1 个答案:

答案 0 :(得分:2)

您似乎已经解决了创建MsgBox问题的问题,现在您剩下的挑战是“将它们指向需要输入的标签/字段”

使用SetFocus方法将焦点放在标签控件中的特定页面上,或放在该页面内的控件上。

此命令按钮示例将焦点转移到名为 Page1 的页面上的第一个控件...

Private Sub cmdPage1_Click()
    Me!Page1.SetFocus
End Sub

但我的猜测是你会更喜欢专注于页面内的特定控件。我的 Page1 包含一个名为 txtMemo_field 的文本框。此版本将焦点放在该文本框上。请注意,此版本中未提及页面名称;直接在文本框中调用SetFocus ...

Private Sub cmdPage1_Click()
    Me!txtMemo_field.SetFocus
End Sub