Макрокоманду GoToControl можно использовать в классических базах данных Access и веб-приложениях Access для перемещения фокус в указанный поле или элемент управления в текущем запись открытого форма, формы таблица, таблицы таблиц или таблицы запросов. Это действие можно использовать, если требуется, чтобы фокус был у определенного поля или элемента управления. Это поле или элемент управления затем можно использовать для сравнений или действий FindRecord . Это действие также можно использовать для навигации в форме в соответствии с определенными условиями. Например, если пользователь введет No в элементе управления "Женат" в форме медицинского страхования, фокус может автоматически пропустить элемент управления "Имя супруга" и перейти к следующему элементу управления.
Настройка
Аргументы макрокоманды КЭлементуУправления описаны ниже.
Аргумент макрокоманды |
Описание |
Имя элемента |
Имя поля или элемента управления, на которые необходимо установить фокус. Это обязательный аргумент. Примечание: Если вы используете классическую базу данных Access, аргументу Имя элемента следует присваивать только имя поля или элемента управления, а не полный идентификатор, такой как [Forms]![Товары]![Код товара]. |
Замечания
Макрокоманду КЭлементуУправления нельзя использовать для установки фокуса на элемент управления скрытой формы.
Совет: Макрокоманду "КЭлементуУправления" можно использовать для перехода к подчиненной форме, которая является одним из видов элементов управления. После этого можно применить макрокоманду "НаЗапись" для перемещения к определенной записи в подчиненной форме. Вы также можете переходить к элементу управления в подчиненной форме, используя макрокоманду "КЭлементуУправления" для перехода сначала на подчиненную форму, а затем к элементу управления в ней.
Для запуска макрокоманды КЭлементуУправления в модуле Visual Basic для приложений (VBA) используйте метод GoToControl объекта DoCmd. Для установки фокуса на элемент управления в форме или в любой из ее подчиненных форм, на поле в открытых таблице, запросе или форме в режиме таблицы можно также использовать метод SetFocus.
Примеры
Установка значения элемента управления с помощью макроса
Следующий макрос открывает форму "Добавить товары" с помощью кнопки в форме "Поставщики". Он демонстрирует применение макрокоманд ВыводНаЭкран, ЗакрытьОкно, ОткрытьФорму, ЗадатьЗначение и КЭлементуУправления. Макрокоманда ЗадатьЗначение задает в качестве значения элемента управления "Код поставщика" в форме "Товары" текущего поставщика в форме "Поставщики". После этого макрокоманда КЭлементуУправления перемещает фокус на поле "Код категории", с которого начинается ввод данных для нового товара. Этот макрос должен быть привязан к кнопке "Добавить товары" в форме "Поставщики".
Макрокоманда |
Аргументы: параметр |
Примечание |
ВыводНаЭкран |
Включить вывод: Нет |
Приостанавливает обновление экрана, пока выполняется макрос. |
ЗакрытьОкно |
Тип объекта: Форма Имя объекта: Список товаров Сохранение: Нет |
Закрывает форму "Список продуктов". |
ОткрытьФорму |
Имя формы: Товары Представление: Форма Режим данных: Добавление Режим окна: Обычное |
Открывает форму "Товары". |
ЗадатьЗначение |
Элемент: [Forms]![Товары]![КодПоставщика] Выражение: КодПоставщика |
Задает в качестве значения элемента управления "КодПоставщика" текущего поставщика в форме "Поставщики". |
КЭлементуУправления |
Имя элемента управления: КодКатегории |
Выполняет переход к элементу управления "КодКатегории". |
Проверка данных с помощью макроса
Описанный ниже макрос проверки проверяет почтовые индексы, введенные в форме "Поставщики". В нем продемонстрировано использование макрокоманд ОстановитьМакрос, ОкноСообщения, ОтменитьСобытие и КЭлементуУправления. Условное выражение служит для проверки страны или региона и почтового индекса, введенного в запись в форме. Если почтовый индекс имеет неверный формат для указанной страны или региона, макрос отображает окно сообщения и отменяет сохранение записи. Затем он возвращает элемент управления "Почтовый индекс", в котором можно исправить ошибку. Этот макрос следует прикрепить к свойству BeforeUpdate формы "Поставщики".
Условие |
Макрокоманда |
Аргументы: параметр |
Примечание |
If IsNull([СтранаРегион]) |
ОстановитьМакрос |
Если СтранаРегион имеет значение Null, почтовый индекс не может быть проверен. |
|
If [СтранаРегион] In ("Франция","Италия","Испания") And Len([Почтовый индекс]) <> 5 |
ОкноСообщения |
Сообщение: Почтовый индекс должен содержать 5 символов. Сигнал: Да Тип: Уведомление Название: Ошибка в почтовом индексе |
Если почтовый индекс не состоит из 5 символов, отображается сообщение. |
ОтменитьСобытие |
Отменяет событие. |
||
КЭлементуУправления |
Имя элемента: ПочтовыйИндекс |
||
If [СтранаРегион] In ("Австралия","Сингапур") And Len([Почтовый индекс]) <> 4 |
ОкноСообщения |
Сообщение: Почтовый индекс должен содержать 4 символа. Сигнал: Да Тип: Уведомление Название: Ошибка в почтовом индексе |
Если почтовый индекс не состоит из 4 символов, отображается сообщение. |
ОтменитьСобытие |
Отменяет событие. |
||
КЭлементуУправления |
Имя элемента: ПочтовыйИндекс |
||
If ([СтранаРегион] = "Канада") And ([Почтовый индекс] Not Like"[A-Z][0-9][A-Z] [0-9][A-Z][0-9]") |
ОкноСообщения |
Сообщение: Недопустимый почтовый индекс. Пример индекса для Канады: H1J 1C3 Сигнал: Да Тип: Уведомление Название: Ошибка в почтовом индексе |
Если почтовый индекс для Канады введен в неправильном формате, отображается сообщение. (Пример индекса для Канады: H1J 1C3) |
ОтменитьСобытие |
Отменяет событие. |