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