Поделиться через


Макрокоманда MessageBox

Область применения: Access 2013, Office 2013

Действие MessageBox можно использовать для отображения окна сообщения, содержащего предупреждение или информационное сообщение. Например, можно использовать действие MessageBox с макросами проверки. Если элемент управления или запись не выполняет условие проверки в макросе, в окне сообщения может отображаться сообщение об ошибке и предоставляются инструкции о типе данных, которые следует вводить.

Setting

Аргументы действия MessageBox приведены ниже.

Аргумент макрокоманды

Описание

Сообщение

Текст в окне сообщения. Введите текст сообщения в поле Сообщение в разделе Аргументы действия панели построителя макросов. Можно ввести до 255 символов или ввести выражение (перед которым стоит знак равенства).

Beep

Указывает, будет ли динамик компьютера звук звукового сигнала при отображении сообщения. Нажмите кнопку Да (звук звукового сигнала) или Нет (не звук звукового сигнала). Значение по умолчанию — Да.

Тип

Тип окна сообщения. Каждый тип имеет свой значок. Щелкните Нет, Критическое, Предупреждение?, Предупреждение! или Сведения. Значение по умолчанию — Нет.

Title

Текст, отображаемый в строке заголовка окна сообщения. Например, в строке заголовка может отображаться сообщение "Проверка идентификатора клиента". Если оставить этот аргумент пустым, отобразится сообщение "Microsoft Access".

Замечания

С помощью действия MessageBox можно создать форматированные сообщения об ошибке, аналогичные встроенным сообщениям об ошибках, отображаемым в Microsoft Access. Действие MessageBox позволяет предоставить сообщение в трех разделах для аргумента Message. Разделы разделяются символом "@".

В следующем примере отображается форматируемое окно сообщения с раздельным сообщением. Первый раздел текста в сообщении отображается в виде полужирного заголовка. Второй раздел отображается в виде обычного текста под этим заголовком. Третий раздел отображается в виде обычного текста под вторым разделом с пустой строкой между ними.

Введите следующую строку в аргументе Message :

Неправильная кнопка!@This кнопка не работает.@Try Другой.

Невозможно запустить действие MessageBox в модуле Visual Basic для приложений (VBA). Вместо этого используйте функцию MsgBox .

Примеры

Синхронизация форм с помощью макроса

Следующий макрос открывает форму Список продуктов в правом нижнем углу формы Поставщики, где отображаются продукты текущего поставщика. Здесь показано использование действий Echo, MessageBox, GoToControl, StopMacro, OpenForm и MoveAndSizeWindow . Здесь также показано использование условного выражения с действиями MessageBox, GoToControl и StopMacro . Этот макрос должен быть присоединен к кнопке Проверить продукты в форме Поставщики.

Условие

Макрокоманда

Аргументы: параметр

Примечание

ВыводНаЭкран

Включить вывод: Нет

Приостанавливает обновление экрана, пока выполняется макрос.

IsNull([SupplierID])

MessageBox

Сообщение. Перейдите к записи поставщика, продукты которого вы хотите просмотреть, а затем еще раз нажмите кнопку Просмотреть продукты. Звуковой сигнал: YesType: NoneTitle: Select a Supplier

Если в форме Поставщики нет текущего поставщика, отобразите сообщение.

...

GoToControl

Имя элемента управления: CompanyName

Переместите фокус на элемент управления CompanyName.

...

StopMacro

Остановите макрос.

OpenForm

Имя формы: Представление списка продуктов: ТаблицаФильтр: Где Условие: [Идентификатор поставщика] = [Формы]! [Поставщики]! [Идентификатор поставщика] Режим данных: только чтениеРежим windows: обычный

Откройте форму Список продуктов и отобразите продукты текущего поставщика.

MoveAndSizeWindow

Справа: 0,7799" вниз: 1,8"

Разместите форму Список продуктов в правом нижнем углу формы Поставщики.

Проверка данных с помощью макроса

Следующий макрос проверки проверяет почтовые коды, введенные в форме Поставщики. Здесь показано использование действий StopMacro, MessageBox, CancelEvent и GoToControl . Условное выражение проверяет страну или регион и почтовый индекс, введенный в записи в форме. Если почтовый индекс не в правильном формате для страны или региона, макрос отображает окно сообщения и отменяет сохранение записи. Затем он возвращает вас к элементу управления PostalCode, где можно исправить ошибку. Этот макрос должен быть присоединен к свойству BeforeUpdate формы Поставщики.

Условие

Макрокоманда

Аргументы: параметр

Примечание

IsNull([CountryRegion])

StopMacro

Если CountryRegion имеет значение NULL, почтовый индекс невозможно проверить.

[СтранаРегион] В ("Франция", "Италия", "Испания") и Len([почтовый индекс]) <> 5

MessageBox

Сообщение: почтовый индекс должен содержать 5 символов. Звуковой сигнал: YesType: InformationTitle: ошибка почтового индекса

Если почтовый индекс не содержит 5 символов, отобразится сообщение.

...

CancelEvent

Отмена события.

GoToControl

Имя элемента управления: Почтовый код

[СтранаРегион] В ("Австралия", "Сингапур") и Len([Почтовый код]) <> 4

MessageBox

Сообщение: почтовый индекс должен содержать 4 символа. Звуковой сигнал: YesType: InformationTitle: ошибка почтового индекса

Если почтовый индекс не содержит 4 символа, отобразите сообщение.

...

CancelEvent

Отмена события.

GoToControl

Имя элемента управления: Почтовый код

([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

Отмена события.