Макрокоманда GoToControl
Область применения: Access 2013, Office 2013
Действие GoToControl можно использовать для перемещения фокуса в указанное поле или элемент управления в текущей записи открытой формы, таблицы форм, таблицы таблиц или таблицы запросов. Эта макрокоманда позволяет переместить фокус на определенное поле или на другой элемент управления. Это поле или элемент управления затем можно использовать для сравнений или действий FindRecord . Кроме того, можно использовать эту макрокоманду для навигации в форме в соответствии с определенными условиями. Например, если пользователь введет "Нет" в элементе управления "Брак" формы медицинского страхования, фокус может сразу автоматически переместиться на элемент управления, следующий за элементом управления "Имя партнера".
Setting
Примечание.
Это действие недоступно для использования со страницами доступа к данным.
Макрокоманда GoToControl имеет указанный ниже аргумент.
Аргумент макрокоманды |
Описание |
---|---|
Имя элемента управления |
Имя поля или элемента управления, куда необходимо переместить фокус. Введите поле или имя элемента управления в поле Имя элемента управления в разделе Аргументы действия панели построителя макросов. Это обязательный аргумент. ПРИМЕЧАНИЕ. Введите только имя поля или элемента управления в аргументе Имя элемента управления , а не полный идентификатор, например Forms! Продукты! [Идентификатор продукта]. |
Замечания
Действие GoToControl нельзя использовать для перемещения фокуса в элемент управления в скрытой форме.
Совет
Действие GoToControl можно использовать для перемещения в подчиненную форму, которая является типом элемента управления. Затем можно использовать действие GoToRecord для перемещения к определенной записи в подчиненной форме. Вы также можете перейти к элементу управления в подчиненной форме с помощью действия GoToControl , чтобы сначала перейти к подчиненной форме, а затем к элементу управления в подчиненной форме.
Чтобы запустить действие GoToControl в модуле Visual Basic для приложений (VBA), используйте метод GoToControl объекта DoCmd. Метод SetFocus также можно использовать для перемещения фокуса на элемент управления в форме или любой из ее подчиненных форм, а также в поле открытой таблицы, запроса или таблицы форм.
Примеры
Установка значения элемента управления с помощью макроса
Следующий макрос открывает форму "Добавить товары" с помощью кнопки в форме "Поставщики". Он демонстрирует применение макрокоманд ВыводНаЭкран, ЗакрытьОкно, ОткрытьФорму, ЗадатьЗначение и КЭлементуУправления. Действие SetValue задает для элемента управления Идентификатор поставщика в форме Products значение текущего поставщика в форме Поставщики. Затем действие GoToControl перемещает фокус в поле Идентификатор категории, где можно начать вводить данные для нового продукта. Этот макрос должен быть привязан к кнопке "Добавить товары" в форме "Поставщики".
Макрокоманда |
Аргументы: параметр |
Примечание |
---|---|---|
ВыводНаЭкран |
Включить вывод: Нет |
Приостанавливает обновление экрана, пока выполняется макрос. |
ЗакрытьОкно |
Тип объекта: FormObject Имя: Список товаров Сохранить: Нет |
Закройте форму "Список продуктов". |
ОткрытьФорму |
Имя формы: Товары Представление: FormData Режим: AddWindow Режим: Обычный |
Открывает форму "Товары". |
ЗадатьЗначение |
Элемент: [Forms]![Товары]![КодПоставщика] Выражение: КодПоставщика |
Задайте для элемента управления Идентификатор поставщика текущий поставщик в форме Поставщики. |
КЭлементуУправления |
Имя элемента управления: КодКатегории |
Перейдите к элементу управления Идентификатор категории. |
Проверка данных с помощью макроса
Следующий макрос проверки проверяет почтовые коды, введенные в форме Поставщики. Здесь показано использование действий StopMacro, MessageBox, CancelEvent и GoToControl . Условное выражение проверяет страну или регион и почтовый индекс, введенный в записи в форме. Если почтовый индекс не соответствует формату страны или региона, макрос отображает окно сообщения и отменяет сохранение записи. Затем макрос возвращает вас в элемент управления Почтовый индекс, где можно исправить ошибку. Этот макрос должен быть присоединен к свойству 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") И ([Почтовый индекс] Не нравится"[A-Z][0-9][A-Z] [0-9][A-Z][0-9]") |
MessageBox |
Сообщение: почтовый индекс недопустим. Пример канадского кода: H1J 1C3 Beep: YesType: InformationTitle: Почтовый индекс Ошибка |
Если почтовый индекс неверен для Канады, отобразите сообщение. (Пример канадского кода: H1J 1C3) |
... |
CancelEvent |
Отмена события. |