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


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

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

С помощью действия OpenForm можно открыть форму в режиме формы, конструкторе, предварительном просмотре или режиме таблицы. Он позволяет выбирать режим ввода данных и режим окна для формы, а также ограничивать количество записей, отображаемых в форме.

Setting

Действие OpenForm имеет следующие аргументы.

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

Описание

Имя формы

Имя открываемой формы. В поле Имя формы в разделе Аргументы действия панели построителя макросов отображаются все формы в текущей базе данных. Это обязательный аргумент. При выполнении макроса, содержащего действие OpenForm в базе данных библиотеки, Microsoft Access сначала ищет форму с этим именем в базе данных библиотеки, а затем в текущей базе данных.

Просмотр

Представление, в котором откроется форма. В поле Вид щелкните Форма, Конструктор, Предварительный просмотр, Таблица, Сводная таблица или Сводная диаграмма. Значение по умолчанию — Form.

ПРИМЕЧАНИЕ. Параметр аргумента View переопределяет параметры свойств DefaultView и ViewsAllowed формы. Например, если для свойства ViewsAllowed формы задано значение Таблица, вы по-прежнему можете использовать действие OpenForm для открытия формы в представлении формы.

Имя фильтра

Фильтр, который ограничивает или сортирует записи формы. Можно ввести имя существующего запроса или фильтра, сохраненного в качестве запроса. Однако запрос должен включать все поля в открываемой форме или иметь для свойства OutputAllFields значение Да.

Условие where

Допустимое предложение SQL WHERE (без слова WHERE) или выражение, которое Access использует для выбора записей из базовой таблицы или запроса формы. Если выбрать фильтр с аргументом Имя фильтра , Access применит это предложение WHERE к результатам фильтра. Чтобы открыть форму и ограничить ее записи теми, которые указаны значением элемента управления в другой форме, используйте следующее выражение: [имя_поля] = Forms![formname]! [controlname в другой форме] Замените fieldname именем поля в базовой таблице или запросе формы, которую нужно открыть. Замените formname и controlname в другой форме именем другой формы и элементом управления в другой форме, который содержит значения, которые должны соответствовать записям в первой форме.

ПРИМЕЧАНИЕ. Максимальная длина аргумента Where Condition составляет 255 символов. Если требуется ввести более сложное предложение SQL WHERE дольше, используйте метод OpenForm объекта DoCmd в модуле Visual Basic для приложений (VBA). В VBA можно ввести инструкции предложения SQL WHERE не более 32 768 символов.

Режим данных

Режим ввода данных для формы. Это относится только к формам, открываемым в режиме формы или режиме таблицы. Щелкните Добавить (пользователь может добавлять новые записи, но не может изменять существующие записи), Изменить (пользователь может изменять существующие записи и добавлять новые записи) или Только чтение (пользователь может просматривать только записи). Значение по умолчанию — Изменить. Примечания.

  • Параметр аргумента Data Mode переопределяет параметры свойств AllowEdits, AllowDeletions, AllowAdditions и DataEntry формы. Например, если для свойства AllowEdits формы задано значение Нет, вы по-прежнему можете использовать действие OpenForm для открытия формы в режиме правки.

  • Если оставить этот аргумент пустым, Access откроет форму в режиме ввода данных, заданном свойствами AllowEdits, AllowDeletions, AllowAdditions и DataEntry формы.

Режим окна

Режим окна, в котором открывается форма. Щелкните Обычный (форма открывается в режиме, заданном ее свойствами), Скрытый (форма скрыта), Значок (форма открывается в виде небольшой строки заголовка в нижней части экрана) или Диалоговое окно (для свойств формы Modal и PopUp задано значение Да). Значение по умолчанию — Обычный.

ПРИМЕЧАНИЕ. Некоторые параметры аргументов режима окна не применяются при использовании документов с вкладками. Чтобы переключиться на перекрывающиеся окна, выполните приведенные далее действия.

  1. Перейдите на вкладку Файл и нажмите кнопку Параметры.

  2. В диалоговом окне Параметры доступа щелкните Текущая база данных.

  3. В разделе Параметры приложенияв разделе Параметры окна документа щелкните Перекрывающиеся окна.

  4. Нажмите кнопку ОК, а затем закройте и снова откройте базу данных.

Замечания

Это действие аналогично двойному щелчку формы в области навигации или щелчку правой кнопкой мыши формы в области навигации, а затем выбору представления.

Форма может быть модальной (она должна быть закрыта или скрыта, прежде чем пользователь сможет выполнить какое-либо другое действие) или немодальной (пользователь может перейти в другие окна, пока форма открыта). Это также может быть всплывающая форма (форма, используемая для сбора или отображения информации, которая остается на всех остальных окнах доступа). При проектировании формы задаются свойства Modal и PopUp . Если для аргумента Window Mode используется обычный режим, форма открывается в режиме, указанном этими параметрами свойства. Если для аргумента Режим окна используется диалоговое окно, оба свойства имеют значение Да. Форма, открытая как скрытая или как значок, возвращается в режим, указанный параметрами свойства, при ее показе или восстановлении.

При открытии формы с аргументом "Режим окна" в качестве диалогового окна доступ приостанавливает макрос до тех пор, пока форма не будет закрыта или скрыта. Форму можно скрыть, задав для ее свойства Visible значение Нет с помощью действия SetValue .

Совет

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

Применяемое условие фильтра и WHERE становятся параметрами свойства Filter формы.

Примеры

Установка значения элемента управления с помощью макроса

Следующий макрос открывает форму "Добавить товары" с помощью кнопки в форме "Поставщики". Он демонстрирует применение макрокоманд ВыводНаЭкран, ЗакрытьОкно, ОткрытьФорму, ЗадатьЗначение и КЭлементуУправления. Действие SetValue задает для элемента управления Идентификатор поставщика в форме Products значение текущего поставщика в форме Поставщики. Затем действие GoToControl перемещает фокус в поле Идентификатор категории, где можно начать вводить данные для нового продукта. Этот макрос должен быть привязан к кнопке "Добавить товары" в форме "Поставщики".

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

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

Примечание

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

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

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

ЗакрытьОкно

Тип объекта: FormObject Имя: Список товаров Сохранить: Нет

Закрывает форму "Список товаров".

ОткрытьФорму

Имя формы: Товары Представление: FormData Режим: AddWindow Режим: Обычный

Открывает форму "Товары".

ЗадатьЗначение

Элемент: [Forms]![Товары]![КодПоставщика] Выражение: КодПоставщика

Задайте для элемента управления Идентификатор поставщика текущий поставщик в форме Поставщики.

КЭлементуУправления

Имя элемента управления: КодКатегории

Перейдите к элементу управления Идентификатор категории.

Следующий макрос открывает форму Список продуктов в правом нижнем углу формы Поставщики, где отображаются продукты текущего поставщика. Здесь показано использование действий 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"

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