2015-09-14 120 views
0

在Access 2010中,当用户在组合框(产品类型)中选择特定文本(房地产)时,我需要弹出一个消息框。创建消息框

简而言之,如果用户输入的[ProductType]是可用的多个“Real Estate”选项中的任何一个,则会显示一个消息框,指出“USER MUST COMPLETE RESPA TRACKING”,然后指示它们到该页面(选项卡)可以完成其他文本字段。

我将下面的代码附加到组合框的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

您的vba到目前为止您的组合框是什么?这个有可能。你有尝试过什么吗?如果是的话,你能告诉我们你有什么尝试?您可以在更改事件,更新后事件或使用按钮触发事件。这部分取决于你。请提供更多关于您已经完成/何时触发事件的信息。 –

+0

谢谢@TheGambill,我编辑了我的问题以包含我拥有的代码。该代码确实会创建弹出消息,但我无法弄清楚如何让它自动将它们带到需要输入的选项卡/字段。谢谢! –

回答

2

看来你已经解决了创建MsgBox问题,现在你剩下的挑战就是“引导他们到标签/中输入需要的字段”

使用SetFocus方法可将注意力集中在选项卡控件中的特定页面或该页面内的控件上。

此命令按钮的例子将焦点转移到一个名为第1页页面上的第一控制...

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

但我的猜测是,你会更喜欢专注于网页中的特定控制。我的Page1包含一个名为txtMemo_field的文本框。该版本将重点放在该文本框上。注意这个版本中没有提到页面名称;直接在文本框上调用SetFocus ...

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