适用于:Access 2013、Office 2013
可以使用 MessageBox 操作显示包含警告或信息性消息的消息框。 例如,可以将 MessageBox 操作与验证宏一起使用。 当控件或记录未通过宏中的验证条件时,消息框可能会显示错误消息,并提供有关应输入的数据类型的说明。
Setting
MessageBox 操作具有以下参数。
操作参数 |
说明 |
|---|---|
邮件 |
消息框中的文本。 在“宏生成器”窗格的“操作参数”部分的“消息”框中输入消息文本。 最多可键入 255 个字符,或输入表达式 (前面有等号) 。 |
Beep |
指定显示消息时计算机的扬声器是否发出蜂鸣音。 单击“ 是 ” (发出蜂鸣音) 或“ 否 ” (不) 发出蜂鸣音。 默认值为 "是"。 |
类型 |
消息框的类型。 每种类型都有一个不同的图标。 单击“无”、“严重”、“警告?”、“警告!”或“信息”。 默认值为 None。 |
标题 |
消息框标题栏中显示的文本。 例如,你可以让标题栏显示“客户 ID 验证”。 如果将此参数留空,将显示“Microsoft Access”。 |
备注
可以使用 MessageBox 操作创建类似于 Microsoft Access 显示的内置错误消息的格式化错误消息。 MessageBox 操作允许你在 Message 参数的三个部分中提供消息。 使用“@”字符分隔部分。
以下示例显示带分区消息的格式化消息框。 邮件中文本的第一部分显示为粗体标题。 第二部分在该标题下方显示为纯文本。 第三节在第二节下方显示为纯文本,两节之间有一条空白行。
在 Message 参数中键入以下字符串:
按钮错误!@This 按钮不起作用。@Try 另一个。
无法在 Visual Basic for Applications (VBA) 模块中运行 MessageBox 操作。 请改用 MsgBox 函数。
示例
使用宏同步表单
以下宏在“供应商”窗体的右下角打开“产品列表”窗体,显示当前供应商的产品。 它显示了 Echo、 MessageBox、 GoToControl、 StopMacro、 OpenForm 和 MoveAndSizeWindow 操作的用法。 它还演示了将条件表达式与 MessageBox、 GoToControl 和 StopMacro 操作配合使用。 此宏应附加到“供应商”窗体上的“审阅产品”按钮。
条件 |
操作 |
参数:设置 |
注释 |
|---|---|---|---|
Echo |
Echo On: No |
运行宏时停止屏幕更新。 |
|
IsNull ([SupplierID]) |
MessageBox |
消息:移动到要查看其产品的供应商记录,然后再次单击“查看产品”按钮。 Beep: YesType: NoneTitle: 选择供应商 |
如果“供应商”窗体上没有当前供应商,则显示一条消息。 |
... |
GoToControl |
控件名称:CompanyName |
将焦点移动到 CompanyName 控件。 |
... |
StopMacro |
停止宏。 |
|
OpenForm |
窗体名称:产品列表 视图: 数据表Filter 名称: Where Condition: [SupplierID] = [Forms]![供应商]![SupplierID] 数据模式: 只读窗口模式: 普通 |
打开“产品列表”窗体并显示当前供应商的产品。 |
|
MoveAndSizeWindow |
右:0.7799“ 向下:1.8” |
将“产品列表”窗体置于“供应商”窗体的右下角。 |
使用宏验证数据
下面的验证宏会检查在"供应商"窗体中输入的邮政编码。 它演示如何使用 StopMacro 、 MessageBox 、 CancelEvent 和 GoToControl 操作。 其条件表达式检查在窗体的记录中输入的国家/地区和邮政编码。 如果邮政编码的格式不正确,则宏将显示一个消息框并取消保存记录。 然后,它会将你返回到 PostalCode 控件,你可以在其中更正错误。 此宏应附加到“供应商”窗体的 BeforeUpdate 属性。
条件 |
操作 |
参数:设置 |
注释 |
|---|---|---|---|
IsNull ([CountryRegion]) |
StopMacro |
如果 CountryRegion 为 Null,则无法验证邮政编码。 |
|
[CountryRegion]在 (“法国”,“意大利”,“西班牙”) 和伦 ([邮政编码]) <> 5 |
MessageBox |
邮件:邮政编码必须为 5 个字符。 Beep: YesType: InformationTitle: 邮政编码错误 |
如果邮政编码不是 5 个字符,则显示一条消息。 |
... |
CancelEvent |
取消事件。 |
|
GoToControl |
控件名称:PostalCode |
||
[CountryRegion]在 (“澳大利亚”,“新加坡”) 和伦 ([邮政编码]) <> 4 |
MessageBox |
邮件:邮政编码必须为 4 个字符。 Beep: YesType: InformationTitle: 邮政编码错误 |
如果邮政编码不是 4 个字符,则显示一条消息。 |
... |
CancelEvent |
取消事件。 |
|
GoToControl |
控件名称:PostalCode |
||
([CountryRegion] = “Canada”) and ([PostalCode] not like“[A-Z][0-9][A-Z] [0-9][A-Z][0-9]”) |
MessageBox |
消息:邮政编码无效。 加拿大代码示例:H1J 1C3 Beep: YesType: InformationTitle: 邮政编码错误 |
如果邮政编码不符合加拿大格式,则显示一条消息。 (加拿大邮政编码示例:H1J 1C3) |
... |
CancelEvent |
取消事件。 |