Макрокоманда «ЗадатьЗначение»

С помощью макрокоманды ЗадатьЗначение можно задать значение для поля, элемента управления или свойства в форме (в режиме формы или таблицы) или в отчете Access.

Примечание : Чтобы задать значение свойства Access, которое возвращает объект, нельзя использовать макрокоманду ЗадатьЗначение.

Примечание : Эта макрокоманда доступна только для доверенных баз данных.

Настройка

Макрокоманда ЗадатьЗначение имеет следующие аргументы:

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

Описание

Элемент

Имя поля, элемента управления или свойства, значение которого вы хотите задать. Введите имя поля, элемента управления или свойства в поле Элемент в разделе Аргументы макрокоманды окна конструктора макросов. Следует использовать полный синтаксис в ссылке на этот элемент, например, имяэлементауправления (для элемента управления в форме или отчете, из которого вызываетсямакрос) или Forms!имяформы!имяэлементауправления. Это обязательный аргумент.

Выражение

Выражение, которое Access использует, чтобы задать значение для указанного элемента. Следует всегда использовать полный синтаксис для ссылки на любой объект в выражении. Например, чтобы увеличить значение элемента управления "Зарплата" в форме "Сотрудники" на 10 процентов, следует использовать синтаксис Forms!Employees!Salary*1.1. Это обязательный аргумент.

Примечание : В этом аргументе не следует использовать знак равенства (=) перед выражением. В противном случае Access вычисляет выражение и затем использует полученное значение для этого аргумента. Это может привести к непредвиденным результатам, если выражение является строкой.

Например, если ввести ="Строка1" для этого аргумента, Access сначала вычислит выражение как "Строка1". Затем Access будет использовать "Строка1" как выражение в этом аргументе и попытается найти элемент управления или свойство с именем "Строка1" в форме или отчете, из которого вызывался макрос.

Примечание : В базе данных Access (MDB или ACCDB) нажмите кнопку Построить, чтобы создать выражение для любого из этих аргументов с помощью построителя выражений.

Примечания

Данную макрокоманду можно использовать, чтобы задать значение для поля или элемента управления в форме (в режиме формы или в режиме таблицы) или в отчете. Вы также можете задать значения практически для любого свойства элемента управления, формы или отчета в любом режиме. Чтобы определить, можно ли задать значение конкретного свойства с помощью макроса и в каких режимах это сделать, см. раздел для этого свойства в справке редактора Visual Basic.

Можно также задать значение для поля в базовой таблице формы, даже если форма не содержит элемент управления, привязанный к полю. Используйте для этого синтаксис Forms!имя_формы!имя_поля в поле Элемент. Вы также можете указать поле в базовой таблице отчета, используя синтаксис Reports!имя_отчета!имя_поля, но в отчете должен быть элемент управления, привязанный к этому полю, или на поле должен ссылаться вычисляемый элемент управления в отчете.

Если задать значение элемента управления в форме, макрокоманда ЗадатьЗначение не будет запускать для него правила проверки на уровне формы, но если элемент управления является связанным, запускаются правила проверки на уровне таблицы для соответствующего поля. Макрокоманда ЗадатьЗначение также вызывает пересчет, но может не произойти немедленно. Чтобы запустить немедленное обновление и принудительно выполнить пересчет, используйте макрокоманду ОбновитьОбъект. На значение, заданное в элементе управления с помощью макрокоманды ЗадатьЗначение, также не влияет маска ввода, заданная в свойстве InputMask элемента управления или соответствующего ему поля.

Изменить значение элемента управления можно с помощью макрокоманды ЗадатьЗначение в макросе, который указан в свойстве события После обновления (AfterUpdate) элемента управления. Однако с помощью макрокоманды ЗадатьЗначение в макросе, указанном в свойстве события До обновления (BeforeUpdate) элемента управления, невозможно изменить значение для этого элемента управления (хотя с помощью макрокоманды ЗадатьЗначение можно изменять значения других элементов управления). Макрокоманду ЗадатьЗначение в макросе, который указан в свойствах событий До обновления (BeforeUpdate) или После обновления (AfterUpdate) формы, можно также использовать для изменения значений любых элементов управления в текущей записи.

Примечание : С помощью макрокоманды ЗадатьЗначение невозможно задать значение для следующих элементов управления:

  • связанных и вычисляемых элементов управления в отчетах;

  • вычисляемых элементов управления в формах.

Советы

С помощью макрокоманды "ЗадатьЗначение" можно скрыть или отобразить форму в режиме формы. Введите Forms!имя_формы.Visible в поле Элемент поле и Нет или Да в поле Выражение. Если для свойства Visible модальной формы задано значение "Нет", форма скрывается и становится немодальной. Чтобы отобразить форму и снова сделать ее модальной, выберите значение "Да".

При изменении значения или добавления новых данных в элемент управления с помощью макрокоманды ЗадатьЗначение в макросе не запускаются такие события, как До обновления (BeforeUpdate), До вставки (BeforeInsert) или Изменение (Change), которые происходят при изменении или вводе данных в эти элементы управления через пользовательский интерфейс. Эти события также не происходят, если задать значение элемента управления в модуле Visual Basic для приложений (VBA).

Эта макрокоманда недоступна в модуле VBA. Нужное значение следует задавать непосредственно в VBA.

Пример

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

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

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

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

Примечание

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

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

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

ЗакрытьОкно

Тип объекта: Форма

Имя объекта: Список товаров

Сохранить: Нет

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

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

Имя формы: Товары

Представление: Форма

Режим данных: Добавление

Режим окна: Обычное

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

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

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

Выражение: КодПоставщика

Задает в качестве значения элемента управления "КодПоставщика" текущего поставщика в форме "Поставщики".

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

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

Выполняет переход к элементу управления "КодКатегории".

Совершенствование навыков
Перейти к обучению
Первоочередный доступ к новым возможностям
Присоединиться к программе предварительной оценки Office

Были ли сведения полезными?

Спасибо за ваш отзыв!

Благодарим за отзыв! Возможно, будет полезно связать вас с одним из наших специалистов службы поддержки Office.

×