Можете да използвате макроси на Access, за да създавате контекстни менюта по избор, които се показват, когато щракнете с десния бутон върху формуляри, отчети или отделни контроли. Можете също да създавате менюта по избор, които се показват на лентата за определени формуляри или отчети.
За да създадете меню с помощта на макроси, изпълнете три основни стъпки:
-
Създайте обект на макрос с подмакроси, съдържащи командите от менюто.
-
Създаване на друг обект на макрос, който създава менюто само себе си.
-
Прикачване на менюто към контрола, формуляр, отчет или към базата данни като цяло.
Следващите раздели ще ви преведат през тези стъпки по-подробно.
Забележка: Използвате ли Access 2007? Ако е така, прескочете надолу до секцията Създаване на контекстни менюта по избор в Access 2007.
Съвет: Ако искате да научите как да създавате контекстни менюта по избор в Access с помощта на код на Visual Basic for Applications (VBA), вижте статията Създаване на контекстно меню за формуляр, контрола на формуляр или отчет.
Стъпка 1: създаване на обект на макрос с подмакроси, съдържащи командите от менюто
В тази стъпка можете да създадете обект на макрос с подмакроси, всеки от които подмакрос ще бъде отделна команда в контекстното меню.
Какво е подмакрос?
Можете да използвате подмакрос в обект на макрос, за да дефинирате набор от действия с макроси. Подмакросите в рамките на обект на макрос могат да бъдат наричани отделно от различни събития за контролите и обектите. Отделните подмакроси в даден обект на макрос имат уникално име и могат да съдържат една или повече действия с макроси.
-
В раздела Създаване, в групата Макроси и код щракнете върху Макрос.
-
За всяка команда, която искате, във вашето контекстно меню по избор:
-
Добавете инструкция за макрос за подмакрос в прозореца за проектиране на макроси и наименувайте подмакроса, който искате да се показва в контекстното меню (например "печат" или "Обнови").
Съвет: За да създадете клавиш за достъп, така че да можете да използвате клавиатурата, за да изберете командата, въведете амперсанд (&) преди писмото, което искате да бъде клавишът за достъп в името на командата (например "&Обнови"). Това писмо ще бъде подчертано в менюто.
-
В подмакроса изберете първото действие, което искате да се извърши, когато щракнете върху командата в контекстното меню.
-
Ако искате да извършите още действия, когато изберете тази команда, добавете ги като отделни действия с макроси в един и същ подмакрос.
-
-
Запишете и наименувайте обекта на макроса, например mcrShortcutMenuCommands.
Илюстрацията по-долу показва примерен обект на макрос с три подмакроса за меню по избор или контекстно меню.
Стъпка 2: създаване на втори обект на макрос, който създава менюто
Тази стъпка може да изглежда излишна, но за да създадете контекстното меню от обекта на макрос, който създадохте в стъпка 1, трябва да създадете втори обект на макрос, съдържащ действието AddMenu макрос. Това действие на макрос понякога се нарича "макрос на менюто".
-
В раздела Създаване, в групата Макроси и код щракнете върху Макрос.
-
В диалоговия прозорец Добавяне на ново действие в прозореца за проектиране на макроси изберете AddMenu.
-
В полето за аргумент име на менюто за действието AddMenu макрос въведете името на менюто (например "команди за формуляри"). Този аргумент не е задължителен, но се препоръчва, ако в стъпка 3 планирате да добавите менюто към раздела на лентата (като например раздела добавки на формуляр или отчет). Ако менюто се добави като контекстно меню в стъпка 3, аргументът име на менюто се игнорира.
-
В полето аргумент за име на макрос в менюто въведете името на обекта на макрос, който създадохте в стъпка 1.
-
Запиши и назовете този втори обект на макрос, например mcrAddShortcutMenu.
Илюстрацията по-долу показва примерен обект с макрос от менюто, който създава менюто, което проектирахме в стъпка 1.
Стъпка 3: прикачване на менюто към контрола, формуляр, отчет или база данни
В зависимост от това къде искате да се появи менюто, използвайте една или повече от следните процедури:
Добавяне на менюто към раздела "Add-Ins" на формуляр или отчет
Използвайте тази процедура, ако искате менюто да се показва в раздела добавки за конкретен формуляр или отчет.
-
В навигационния екран щракнете с десния бутон върху формуляра или отчета, където искате да се появи менюто, и след това щракнете върху изглед за проектиране.
-
В раздел Проектиране, в групата Инструменти щракнете върху Списък на свойствата.
-
Изберете целия обект, като изберете формуляр или отчет от списъка в горния край на прозореца на задачите "списък на свойствата".
-
В раздела други на списъка със свойства, в полето на свойството лента на менюто въведете името на обекта на макрос, който създадохте в стъпка 2 (в този пример "mcrAddShortcutMenu").
-
Запишете промените във формуляра или отчета.
Следващия път, когато отворите формуляра или отчета, на лентата се показва разделът добавки. Щракнете върху раздела, за да видите менюто, както е показано на илюстрацията по-долу:
За повече информация относно техниките за персонализиране на лентата, като например добавяне на потребителски табулатори или скриване на разделите по подразбиране, вижте статията Създаване на потребителска лента в Access.
Добавяне на менюто като контекстно меню за формуляр, отчет или контрола
Използвайте тази процедура, ако искате менюто да се появява, когато щракнете с десния бутон върху конкретен формуляр, отчет или контрола.
-
В навигационния екран щракнете с десния бутон върху формуляра или отчета, където искате да се появи контекстното меню, и след това щракнете върху изглед за проектиране.
-
В раздел Проектиране, в групата Инструменти щракнете върху Списък на свойствата.
-
Изберете контролата или обекта, към който искате да прикачите контекстното меню.
За да изберете целия обект, изберете формуляр или отчет от списъка в горния край на прозореца на задачите "списък на свойствата".
-
В раздела други на списъка със свойства, в полето на свойството лента на контекстното меню въведете името на обекта на макрос, който създадохте в стъпка 2 (в този пример "mcrAddShortcutMenu").
-
Уверете се, че свойството контекстно меню е зададено на да.
-
Запишете промените във формуляра или отчета.
Следващия път, когато отворите формуляра или отчета и след това щракнете с десния бутон върху формуляра, отчета или контролата, ще видите контекстното меню със свързаните команди, както е показано на илюстрацията по-долу:
Добавяне на менюто като глобално контекстно меню
Тази процедура замества всички контекстни менюта по подразбиране в текущата база данни. Потребителските контекстни менюта, които са прикачени към определени формуляри, отчети или контроли, не се променят.
-
Щракнете върху Файл > Опции.
-
В диалоговия прозорец Опции на Access щракнете върху Текуща база данни.
-
Под Опции за лентата и лентата с инструменти, в полето на контекстното меню въведете името на макроса, който създадохте в стъпка 2 (в този пример "mcrAddShortcutMenu").
-
Щракнете върху OK , за да запишете промените в диалоговия прозорец Опции на Access .
-
Затворете и след това отворете отново вашата база данни, за да влязат в сила промените.
Потребителските контекстни менюта заменят контекстните менюта по подразбиране за обектите, към които са прикачени. Ако искате да запазите определени команди за достъп, които да се използват в тези менюта, използвайте действието RunCommand макрос, за да задавате командите в обектите на макрос за менютата, в която искате да се поберат.
Контекстното меню по избор, което е прикачено към контрола, замества всички други потребителски контекстни менюта, които са дефинирани в базата данни. Контекстното меню по избор, което е прикачено към формуляр или отчет, замества глобално контекстно меню по избор.
Когато задавате макрос за меню за формуляр или отчет или за базата данни, Access изпълнява това меню макрос всеки път, когато се отвори формуляр, отчет или база данни. Ако направите промени в обекта за макроси на менюто или обекта на макрос, който определя неговите команди, докато формулярът, отчетът или базата данни са отворени, трябва да затворите формуляра, отчета или базата данни и да го отворите отново, за да видите промените.
За да създадете подменю в списъка с команди на контекстното меню, следвайте стъпка 1, за да създадете отделен обект на макрос, който съдържа само командите на подменютата, както е показано на илюстрацията по-долу:
След това изпълнете отново стъпка 1, за да дефинирате командите за обекта от менюто от по-високо ниво. Добавете подменюто като елемент в обекта на макрос от по-високо ниво с помощта на действието на макроса AddMenu . Следващата илюстрация показва обекта на макрос за меню, което съдържа подменю. Третият подмакрос в този примерен обект на макрос създава подменюто експортиране в... (mcrShortcutSubMenuCommands).
Илюстрацията по-долу показва резултантното контекстно меню с подменю:
Можете да създавате множество нива на подменюта, като използвате AddMenu действия с макроси в обектите на макроси за всяко ниво на менюто. Уверете се, че сте предоставили стойност за аргумента "име на менюто" за всяко действие на AddMenu , в противен случай подменюто ще се появи като празен ред в менюто от по-високо ниво.
Условия за израз на макрос с помощта на if/след това/иначе блокчетата се поддържат от менюто на най-горно ниво само с макрос. С други думи, можете да използвате израз за условие в обект на макрос от менюто, за да определите дали ще се показва конкретно меню или контекстно меню, но само за менютата на най-високо ниво. Не можете да използвате изрази за условие, за да покажете или да скриете командите или подменютата в менютата. Можете също да използвате израз за условие за скриване или показване на контекстно меню по избор или глобално контекстно меню.
Ако желаете, макросът, който създавате в стъпка 2, може да бъде част от обект на макрос. Например ако имате няколко контекстни менюта за различни обекти или контроли, можете да създадете единичен обект на макрос, който съдържа всички необходими макроси с менюта. Уверете се, че имате уникално име за всеки подмакрос. В стъпка 3 Използвайте следната нотация, за да препратите към макроса: MacroObjectName. SubmacroName. Например mcrAddShortcutMenus. AddMenu2.
Създаване на потребителски контекстни менюта в Access 2007
Прозорецът за проектиране на макроси е различен в Access 2007, в сравнение с по-нови версии, така че разгънете следващите раздели, за да следвате, ако използвате Access 2007.
В тази стъпка създавате група макроси, като всеки макрос ще бъде отделна команда в контекстното меню.
Какво е група макроси?
Групата макроси е отделен обект на макрос, който съдържа два или повече независими макроси. Отделните макроси се идентифицират чрез въвеждане на име за всеки макрос в колоната имена на макроси. На илюстрацията по-долу Macro3 е група макроси. NotFoundMsg и FoundMsg са отделни макроси в групата, като всеки макрос се състои от две действия за макроси.
Забележка: Колоната име на макрос е скрита по подразбиране. За да покажете колоната име на макрос , в раздела проектиране , в групата Показване/скриване щракнете върху имена на макроси.
-
В раздела Създаване, в групата Други щракнете върху Макрос. Ако тази команда не е достъпна, щракнете върху стрелката под бутона Модул или бутона Модул на клас и след това щракнете върху Макрос.
-
В раздела " проектиране ", в групата " Показване/скриване " щракнете върху " имена на макроси ", за да се покаже колоната за име на макрос .
-
За всяка команда, която искате, във вашето контекстно меню по избор:
-
В колоната име на макрос въведете текста, който искате да се показва в контекстното меню (например "печат на отчет" или "Запиши").
-
Забележка: За да създадете клавиш за достъп, така че да можете да използвате клавиатурата, за да изберете командата, въведете амперсанд (&) преди писмото, което искате да бъде клавишът за достъп в името на командата (например "&Запиши"). Това писмо ще бъде подчертано в менюто.
-
-
В колоната Action изберете първото действие, което искате да се извърши, когато щракнете върху командата в контекстното меню.
-
Ако искате да извършите още действия, когато изберете тази команда, добавете ги в следващите редове. За всяко следващо действие Оставете празна клетка за име на макрос .
-
Забележка: За да създадете линия между две команди от менюто, въведете тире (-) в колоната име на макрос между подходящите команди от менюто.
-
-
-
Запиши и дайте име на макроса, например mcrShortcutMenuCommands.
Илюстрацията по-долу показва примерна група от макроси за меню по избор и контекстно меню.
Тази стъпка може да изглежда излишна, но за да създадете контекстното меню от групата макроси, която създадохте в стъпка 1, трябва да създадете втори макрос, съдържащ действието AddMenu макрос. Този макрос понякога се нарича "макрос на менюто".
-
В раздела Създаване, в групата Други щракнете върху Макрос. Ако тази команда не е достъпна, щракнете върху стрелката под бутона Модул или бутона Модул на клас и след това щракнете върху Макрос.
-
В първия ред на макроса изберете AddMenu в списъка с действия .
-
Под аргументи на действия, в полето име на менюто въведете името на менюто (например "команди за отчети"). Този аргумент не е задължителен, но се препоръчва, ако в стъпка 3 планирате да добавите менюто към раздела на лентата (като например раздела добавки на формуляр или отчет). Ако менюто се добави като контекстно меню в стъпка 3, аргументът име на менюто се игнорира.
-
В полето име на макрос на менюто въведете името на макроса, който създадохте в стъпка 1.
-
Запиши и дайте име на макроса, например mcrAddShortcutMenu.
Илюстрацията по-долу показва макрос с примерни менюта, който създава менюто, което проектирахме в стъпка 1.
В зависимост от това къде искате да се появи менюто, използвайте една или повече от следните процедури:
-
Добавяне на менюто към раздела "Add-Ins" на формуляр или отчет
Използвайте тази процедура, ако искате менюто да се показва в раздела добавки за конкретен формуляр или отчет, както е показано на илюстрацията по-долу:
-
В навигационния екран щракнете с десния бутон върху формуляра или отчета, където искате да се появи менюто, и след това щракнете върху изглед за проектиране.
-
В раздела Структура, в групата Показване/скриване щракнете върху Списък на свойствата.
-
Изберете целия обект, като изберете формуляр или отчет от списъка в горния край на прозореца на задачите "списък на свойствата".
-
В раздела други на списъка със свойства, в полето на свойството контекстно меню въведете името на макроса, който създадохте в стъпка 2 (в този пример "mcrAddShortcutMenu").
Следващия път, когато отворите формуляра или отчета, на лентата се показва разделът добавки. Щракнете върху раздела, за да видите менюто.
За повече информация относно техниките за персонализиране на лентата, като например добавяне на потребителски табулатори или скриване на разделите по подразбиране, вижте статията Създаване на потребителска лента в Access.
Лентата е компонент на Потребителски интерфейс Microsoft Office Fluent.
-
-
Добавяне на менюто като контекстно меню за формуляр, отчет или контрола
Използвайте тази процедура, ако искате менюто да се появява, когато щракнете с десния бутон върху конкретен формуляр, отчет или контрола, както е показано на илюстрацията по-долу:
-
В навигационния екран щракнете с десния бутон върху формуляра или отчета, където искате да се появи контекстното меню, и след това щракнете върху изглед за проектиране.
-
В раздела Структура, в групата Показване/скриване щракнете върху Списък на свойствата.
-
Изберете контролата или обекта, към който искате да прикачите контекстното меню.
Забележка: За да изберете целия обект, изберете формуляр или отчет от списъка в горния край на прозореца на задачите "списък на свойствата".
-
В раздела други на списъка със свойства, в полето на свойството лента на контекстното меню въведете името на макроса, който създадохте в стъпка 2 (в този пример "mcrAddShortcutMenu").
-
-
Добавяне на менюто като глобално контекстно меню
Тази процедура замества всички контекстни менюта по подразбиране в текущата база данни. Потребителските контекстни менюта, които са прикачени към определени формуляри, отчети или контроли, не се променят.
-
Щракнете върху бутона Microsoft Office и след това щракнете върху Опции на Access.
-
В диалоговия прозорец Опции на Access щракнете върху Текуща база данни.
-
Под Опции за лентата и лентата с инструменти, в полето на контекстното меню въведете името на макроса, който създадохте в стъпка 2 (в този пример "mcrAddShortcutMenu").
-
-
Потребителските контекстни менюта заменят контекстните менюта по подразбиране за обектите, към които са прикачени. Ако искате да запазите определени команди за достъп, които да използвате в тези менюта, използвайте действието RunCommand , за да изведете командите в групите макроси за желаните от вас менюта.
-
Контекстното меню по избор, което е прикачено към контрола, замества всички други потребителски контекстни менюта, които са дефинирани в базата данни. Контекстното меню по избор, което е прикачено към формуляр или отчет, замества глобално контекстно меню по избор.
-
Когато задавате макрос за меню за формуляр или отчет или за базата данни, Access изпълнява това меню макрос всеки път, когато се отвори формуляр, отчет или база данни. Ако направите промени в макроса от менюто или групата макроси, която определя неговите команди, докато формулярът, отчетът или базата данни са отворени, трябва да затворите формуляра, отчета или базата данни и да го отворите отново, за да видите промените.
-
За да създадете подменю, следвайте стъпка 1, за да създадете отделна група макроси, която съдържа само командите за подменюто. След това изпълнете отново стъпка 1, за да дефинирате командите за менюто от по-високо ниво. Добавете подменюто като елемент в групата с макроси от по-високо ниво с помощта на действието на макроса AddMenu . Следващата илюстрация показва групата "макрос" за меню, което съдържа подменюто, и след това показва полученото контекстно меню. Третият ред в групата макроси създава подменюто експортиране в... (mcrSubMenu).
Можете да създавате множество нива на подменюта с помощта на AddMenu действия в групите макроси за всяко ниво на менюто. Уверете се, че сте предоставили стойност за аргумента "име на менюто" за всяко действие на AddMenu , в противен случай подменюто ще се появи като празен ред в менюто от по-високо ниво.
-
Условията за макро се поддържат в само макроса от менюто от най-горно ниво. С други думи, можете да използвате условие в макрос от менюто, за да определите дали ще се показва конкретно меню или контекстно меню, но само за менютата на най-високо ниво. Не можете да използвате условия, за да показвате или скривате командите или подменютата в менютата. Можете също да използвате условие за скриване или показване на контекстно меню по избор или глобално контекстно меню.
-
Ако желаете, макросът, който създавате в стъпка 2, може да бъде част от група макроси. Например ако имате няколко контекстни менюта за различни обекти или контроли, можете да създадете единичен обект на макрос, който съдържа всички необходими макроси с менюта. Уверете се, че показвате колоната име на макрос и въведете уникално име за всеки макрос. В стъпка 3 Използвайте следната нотация, за да препратите към макроса: macrogroupname. макрос. Например mcrAddShortcutMenus. AddMenu2.