我有一个用于数据编辑的MS Access表单。此时,偶尔会需要更新数据字段的子集,但通常不需要更新。我已经隐藏了这些字段的控件,要求用户单击按钮以有意显示这些隐藏的控件。另外一个问题是,此处以“ A”结尾的案例无法更新,而以任何其他字母结尾的案例可能无法更新。
对于我的按钮的OnClick,我想使用IF语句来进行
最后,当他们更新任何字段时,我需要将复选框设置为TRUE,以便将来在更新查询中不会覆盖该记录。
Private Sub btnUpDtAllegInfo_Click()
Dim Msg, Style, Title, Response
Msg = "Message to user"
Style = vbCritical
Title = "Can't update allegation A here"
' if "A" allegation, show error message
If Me.AltIntCaseNumber Like "*A" Then
Response = MsgBox(Msg, Style, Title, vbOK)
' if not "A", show the edit fields and hide the text box.
Else
Me.Location.Visible = True
Me.LocationCity.Visible = True
Me.LocationState.Visible = True
Me.ProviderName.Visible = True
Me.Site.Visible = True
Me.SiteCity.Visible = True
Me.SiteState.Visible = True
Me.SiteZip.Visible = True
Me.txtWarning.Visible = False
End If
End Sub
正在测试的字段是AltIntCaseNumber。除txtWarning外,其他字段都是可更新的,txtWarning是一组简单的方向,提醒用户注意规则(默认情况下可见-单击时隐藏)。我上面的大部分内容都来自我在网上找到的内容。这些零件在其他情况下都可以在其他地方使用,但是由于某种原因,当我以这种方式进行设置时,遇到了无法解决的“运行时错误5”。在调试时,“ Response = MsgBox()调用突出显示。
我发现的所有建议的帖子都与其他编程方法(C#,ASP.Net)有关,尽管我认为解决方法应该很简单。
您的MsgBox调用完全是错误的。语法为:
MsgBox(prompt [, buttons] [, title] [, helpfile, context])
vbOK
结尾
Response = MsgBox(Msg, Style, Title, vbOK)
不属于那里。
[没人再使用helpfile, context
参数,但如果愿意,则必须同时提供它们。
因此,有了4个参数,您会得到Invalid procedure call or argument (Error 5)