MessageBox 宏操作

适用于: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 函数。

示例

使用宏同步表单

以下宏在“供应商”窗体的右下角打开“产品列表”窗体,显示当前供应商的产品。 它显示了 EchoMessageBoxGoToControlStopMacroOpenFormMoveAndSizeWindow 操作的用法。 它还演示了将条件表达式与 MessageBoxGoToControlStopMacro 操作配合使用。 此宏应附加到“供应商”窗体上的“审阅产品”按钮。

条件

操作

参数:设置

注释

Echo

Echo On: No

运行宏时停止屏幕更新。

IsNull ([SupplierID])

MessageBox

消息:移动到要查看其产品的供应商记录,然后再次单击“查看产品”按钮。 BeepYesTypeNoneTitle: 选择供应商

如果“供应商”窗体上没有当前供应商,则显示一条消息。

...

GoToControl

控件名称:CompanyName

将焦点移动到 CompanyName 控件。

...

StopMacro

停止宏。

OpenForm

窗体名称:产品列表 视图数据表Filter 名称Where Condition: [SupplierID] = [Forms]![供应商]![SupplierID] 数据模式只读窗口模式普通

打开“产品列表”窗体并显示当前供应商的产品。

MoveAndSizeWindow

:0.7799“ 向下:1.8”

将“产品列表”窗体置于“供应商”窗体的右下角。

使用宏验证数据

下面的验证宏会检查在"供应商"窗体中输入的邮政编码。 它演示如何使用 StopMacroMessageBoxCancelEventGoToControl 操作。 其条件表达式检查在窗体的记录中输入的国家/地区和邮政编码。 如果邮政编码的格式不正确,则宏将显示一个消息框并取消保存记录。 然后,它会将你返回到 PostalCode 控件,你可以在其中更正错误。 此宏应附加到“供应商”窗体的 BeforeUpdate 属性。

条件

操作

参数:设置

注释

IsNull ([CountryRegion])

StopMacro

如果 CountryRegion 为 Null,则无法验证邮政编码。

[CountryRegion]在 (“法国”,“意大利”,“西班牙”) 和伦 ([邮政编码]) <> 5

MessageBox

邮件:邮政编码必须为 5 个字符。 BeepYesTypeInformationTitle: 邮政编码错误

如果邮政编码不是 5 个字符,则显示一条消息。

...

CancelEvent

取消事件。

GoToControl

控件名称:PostalCode

[CountryRegion]在 (“澳大利亚”,“新加坡”) 和伦 ([邮政编码]) <> 4

MessageBox

邮件:邮政编码必须为 4 个字符。 BeepYesTypeInformationTitle: 邮政编码错误

如果邮政编码不是 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 BeepYesTypeInformationTitle: 邮政编码错误

如果邮政编码不符合加拿大格式,则显示一条消息。 (加拿大邮政编码示例:H1J 1C3)

...

CancelEvent

取消事件。