Преминаване към основното съдържание
Поддръжка
Влизане с Microsoft
Влезте или създайте акаунт.
Здравейте,
Изберете друг акаунт.
Имате няколко акаунта
Изберете акаунта, с който искате да влезете.

Можете да използвате макроси на Access, за да създавате потребителски контекстни менюта, които се показват, когато щракнете с десния бутон върху формуляри, отчети или отделни контроли. Можете също да създавате менюта по избор, които се показват на лентата за определени формуляри или отчети.

За да създадете меню с помощта на макроси, изпълнявате три основни стъпки:

  1. Създаване на обект макрос с подмакроси, които съдържат командите от менюто.

  2. Създаване на друг обект макрос, който създава самото меню.

  3. Прикачете менюто към контрола, формуляр, отчет или към базата данни като цяло.

Следващите раздели ще ви преведат подробно през тези стъпки.

Забележка: Използвате ли Access 2007? Ако е така, прескочете надолу до раздела Създаване на контекстни менюта по избор в Access 2007.

Съвет: Ако искате да научите как да създавате потребителски контекстни менюта в Access с помощта на код на Visual Basic for Applications (VBA), вж. статията Създаване на контекстно меню за формуляр, контрола на формуляр или отчет.

Стъпка 1: Създаване на обект макрос с подмакроси, които съдържат командите от менюто

В тази стъпка създавате обект макрос с подмакроси, всеки от които ще бъде отделна команда в контекстното меню.

Какво е подмакрос?

Можете да използвате подмакрос в рамките на обект на макрос, за да дефинирате набор от макрокоманди. Подмакросите в рамките на обект макрос могат да се наричат отделно от различни събития за контроли и обекти. Всеки от отделните подмакроси в рамките на обект макрос има уникално име и може да съдържа едно или повече макрокоманди.

  1. В раздела Създаване, в групата Макроси и код щракнете върху Макрос.

  2. За всяка команда, която искате, във вашето потребителско контекстно меню:

    1. Добавете команда Submacro За макрос към прозореца за проектиране на макроси и дайте име на подмакроса това, което искате да се показва в контекстното меню (например "Печат" или "Обнови").

      Съвет: За да създадете клавиш за достъп, така че да можете да използвате клавиатурата, за да изберете командата, въведете амперсанд (&) преди буквата, която искате да бъде клавишът за достъп в името на командата (например "&Обновяване"). Тази буква ще бъде подчертана в менюто.

    2. В подмакроса изберете първото действие, което искате да се извърши, когато щракнете върху командата в контекстното меню.

    3. Ако има още действия, които искате да бъдат извършени, когато изберете тази команда, добавете ги като отделни макрокоманди в един и същ подмакрос.

  3. Запишете и дайте име на обекта на макроса, например mcrShortcutMenuCommands.

    Следващата илюстрация показва примерен обект макрос с три подмакроса за меню или контекстно меню по избор.

    Екранна снимка на прозореца за проектиране на макроси на Access с три подмакроса.

Стъпка 2: Създаване на втори обект макрос, който създава менюто

Тази стъпка може да изглежда излишна, но за да създадете контекстното меню от обекта на макроса, който създадохте в стъпка 1, трябва да създадете втори обект макрос, съдържащ макрокомандата AddMenu. Тази макрокоманда понякога се нарича "макрос от меню".

  1. В раздела Създаване, в групата Макроси и код щракнете върху Макрос.

  2. В разгъващия се списък Добавяне на ново действие в прозореца за проектиране на макроси изберете AddMenu.

  3. В полето за аргумента Име на меню за макрокомандата AddMenu въведете името на менюто (например "Команди за формуляри"). Този аргумент не е задължителен, но се препоръчва, ако в стъпка 3 планирате да добавите менюто към раздел на лентата (например раздела Добавки на формуляр или отчет). Ако менюто се добави като контекстно меню в стъпка 3, аргументът "Име на меню" се игнорира.

  4. В полето Име на аргумент на макрос от меню въведете името на обекта макрос, който създадохте в стъпка 1.

  5. Запишете и дайте име на втория обект макрос, например mcrAddShortcutMenu.

    Следващата илюстрация показва обект на макрос от примерно меню, който създава менюто, което създадохме в стъпка 1.

    Екранна снимка на обект макрос на Access с макрокоманда AddMenu.

Стъпка 3: Прикачване на менюто към контрола, формуляр, отчет или база данни

В зависимост от това къде искате да се появи менюто, използвайте една или повече от следните процедури.

Добавяне на менюто към раздела Add-Ins на формуляр или отчет

Използвайте тази процедура, ако искате менюто да се показва в раздела Добавки за конкретен формуляр или отчет.

  1. В навигационния екран щракнете с десния бутон върху формуляра или отчета, където искате да се появи менюто, и след това щракнете върху Режим на проектиране.

  2. В раздел Проектиране, в групата Инструменти щракнете върху Списък на свойствата.

  3. Изберете целия обект, като изберете Формуляр или Отчет от списъка в горния край на прозореца на задачите Списък със свойства.

  4. В раздела Други на списъка със свойства, в полето на свойството Лента с менюта въведете името на обекта макрос, който създадохте в стъпка 2 (в този пример "mcrAddShortcutMenu").

  5. Запишете промените във вашия формуляр или отчет.

    Следващия път, когато отворите формуляра или отчета, разделът Добавки се показва на лентата. Щракнете върху раздела, за да видите менюто, както е показано на следващата илюстрация:

    Екранна снимка на лентата за добавки в Access

    За повече информация относно техниките за персонализиране на лентата, като например добавяне на раздели по избор или скриване на разделите по подразбиране, вж. статията Създаване на лента по избор в Access.

Добавяне на менюто като контекстно меню за формуляр, отчет или контрола

Използвайте тази процедура, ако искате менюто да се показва, когато щракнете с десния бутон върху конкретен формуляр, отчет или контрола.

  1. В навигационния екран щракнете с десния бутон върху формуляра или отчета, където искате да се появи контекстното меню, и след това щракнете върху Режим на проектиране.

  2. В раздел Проектиране, в групата Инструменти щракнете върху Списък на свойствата.

  3. Изберете контролата или обекта, към който искате да прикачите контекстното меню.

    За да изберете целия обект, изберете Формуляр или Отчет от списъка в горния край на прозореца на задачите Списък със свойства.

  4. В раздела Други на списъка със свойства, в полето на свойството Лента с контекстно меню въведете името на обекта макрос, който създадохте в стъпка 2 (в този пример "mcrAddShortcutMenu").

  5. Уверете се, че свойството На контекстното меню е зададено на Да.

  6. Запишете промените във вашия формуляр или отчет.

    Следващия път, когато отворите формуляра или отчета и след това щракнете с десния бутон върху формуляра, отчета или контролата, ще видите своето контекстно меню със свързаните команди, както е показано на следващата илюстрация:

    Екранна снимка на контекстно меню във формуляр на Access

Добавяне на менюто като глобално контекстно меню

Тази процедура замества всички контекстни менюта по подразбиране в текущата база данни. Контекстните менюта по избор, които сте прикачили към определени формуляри, отчети или контроли, не са засегнати.

  1. Щракнете върху Файл > Опции.

  2. В диалоговия прозорец Опции на Access щракнете върху Текуща база данни.

  3. Под Опции за лентата и лентата с инструменти, в полето Лента с контекстно меню въведете името на макроса, който създадохте в стъпка 2 (в този пример "mcrAddShortcutMenu").

  4. Щракнете върху OK , за да запишете промените в диалоговия прозорец Опции на Access .

  5. Затворете и след това отворете отново базата данни, за да влязат в сила промените.

Контекстните менюта по избор заместват контекстните менюта по подразбиране за обектите, към които са прикачени. Ако искате да запазите определени команди на Access, които да използвате в тези менюта, използвайте макрокомандата RunCommand , за да поставите командите в обектите на макросите за менютата, в които ги искате.

Контекстното меню по избор, което е прикачено към контрола, замества всички други потребителски контекстни менюта, които са дефинирани в базата данни. Контекстно меню по избор, което е прикачено към формуляр или отчет, замества потребителско глобално контекстно меню.

Когато зададете макрос от меню за формуляр, отчет или за базата данни, Access изпълнява този макрос от меню всеки път, когато формулярът, отчетът или базата данни се отварят. Ако правите промени в обекта на макроса от менюто или обекта макрос, който дефинира командите му, докато формулярът, отчетът или базата данни са отворени, трябва да затворите формуляра, отчета или базата данни и да го отворите отново, за да видите промените.

За да създадете подменю в списък с команди на контекстно меню, следвайте стъпка 1, за да създадете отделен обект макрос, който съдържа само командите на подменюто, както е показано на илюстрацията по-долу:

Екранна снимка на макрос в Access с два подмакроса

След това изпълнете отново стъпка 1, за да дефинирате командите за обекта от менюто от по-високо ниво. Добавяне на подменюто като елемент в обекта макрос от по-високо ниво с помощта на макрокомандата AddMenu . Следващата илюстрация показва обекта на макроса за меню, което съдържа подменю. Третият подмакрос в този примерен обект макрос създава подменюто Експортиране в... (mcrShortcutSubMenuCommands).

Екранна снимка на макрос на Access с четири подмакроса

Следващата илюстрация показва полученото завършено контекстно меню с подменю:

Екранна снимка на контекстно меню с подменю

Можете да създадете няколко нива на подменюта с помощта на макрокоманди AddMenu в обектите на макроси за всяко ниво на меню. Не забравяйте да зададете стойност за аргумента "Име на меню" за всяко действие AddMenu , в противен случай подменюто ще се покаже като празен ред в менюто от по-високо ниво.

Условията за изрази на макроси, които използват блокове If/Then/Else , се поддържат само в обекта макрос от меню от най-високо ниво. С други думи, можете да използвате израз за условие в обект от макрос на меню, за да определите дали ще се покаже определено меню или контекстно меню, но само за менютата от най-горното ниво. Не можете да използвате изрази за условие, за да показвате или скривате команди или подменюта в менютата. Можете също да използвате израз за условие, за да скриете или покажете контекстно меню по избор или глобално контекстно меню.

Ако желаете, макросът от менюто, който създавате в стъпка 2, може да бъде част от обект на макрос. Ако например имате няколко контекстни менюта за различни обекти или контроли, можете да създадете един обект макрос, който съдържа всички необходими макроси от менюто. Уверете се, че имате уникално име за всеки подмакрос. В стъпка 3 използвайте следната нотация, за да препратите към макроса: MacroObjectName.SubmacroName. Например mcrAddShortcutMenus.AddMenu2.

Най-горе на страницата

Създаване на контекстни менюта по избор в Access 2007

Прозорецът за проектиране на макроси е различен в Access 2007 в сравнение с по-новите версии, така че разгънете разделите по-долу, за да ги следвате, ако използвате Access 2007.

В тази стъпка създавате група макроси, всеки от които ще бъде отделна команда в контекстното меню.

Какво е група макроси?

Групата макроси е един обект макрос, който съдържа два или повече независими макроса. Отделните макроси се идентифицират чрез въвеждане на име за всеки макрос в колоната Имена на макроси. На следващата илюстрация Macro3 е група макроси. NotFoundMsg и FoundMsg са отделни макроси в групата, като всеки макрос се състои от две макрокоманди.

Пример на група макроси

Забележка: Колоната Име на макрос е скрита по подразбиране. За да покажете колоната Име на макрос , в раздела Проектиране , в групата Покажи/скрий щракнете върху Имена на макроси.

  1. В раздела Създаване, в групата Други щракнете върху Макрос. Ако тази команда не е достъпна, щракнете върху стрелката под бутона Модул или бутона Модул на клас и след това щракнете върху Макрос.

  2. В раздела Проектиране , в групата Покажи/скрий щракнете върху Имена на макроси , за да се покаже колоната Име на макрос .

  3. За всяка команда, която искате, във вашето потребителско контекстно меню:

    • В колоната Име на макрос въведете текста, който искате да се показва в контекстното меню (например "Печат на отчет" или "Запиши").

      1. Забележка: За да създадете клавиш за достъп, така че да можете да използвате клавиатурата, за да изберете командата, въведете амперсанд (&) преди буквата, която искате да бъде клавишът за достъп в името на командата (например "&Запиши"). Тази буква ще бъде подчертана в менюто.

    • В колоната Действие изберете първото действие, което искате да се извърши, когато щракнете върху командата в контекстното меню.

    • Ако има още действия, които искате да бъдат извършени, когато изберете тази команда, добавете ги на следващите редове. За всяко следващо действие оставете празна клетката Име на макрос .

      1. Забележка: За да създадете линия между две команди от менюто, въведете тире (-) в колоната Име на макрос между съответните команди от менюто.

  4. Запишете и дайте име на макроса, например mcrShortcutMenuCommands.

Следващата илюстрация показва примерна група макроси за потребителско меню или контекстно меню.

Избрани контейнери на долни колонтитули в образеца за изложение

Тази стъпка може да изглежда излишна, но за да създадете контекстното меню от групата макроси, която създадохте в стъпка 1, трябва да създадете втори макрос, съдържащ макрокомандата AddMenu . Този макрос понякога се нарича "макрос от меню".

  1. В раздела Създаване, в групата Други щракнете върху Макрос. Ако тази команда не е достъпна, щракнете върху стрелката под бутона Модул или бутона Модул на клас и след това щракнете върху Макрос.

  2. На първия ред на макроса изберете AddMenu в списъка Действие .

  3. Под Аргументи на действие, в полето Име на меню въведете името на менюто (например "Команди за отчет"). Този аргумент не е задължителен, но се препоръчва, ако в стъпка 3 планирате да добавите менюто към раздел на лентата (например раздела Добавки на формуляр или отчет). Ако менюто се добави като контекстно меню в стъпка 3, аргументът "Име на меню" се игнорира.

  4. В полето Име на макрос от меню въведете името на макроса, който създадохте в стъпка 1.

  5. Запишете и дайте име на макроса, например mcrAddShortcutMenu.

Следващата илюстрация показва макрос в примерно меню, който създава менюто, което създадохме в стъпка 1.

Netfirms-Конфигуриране-5

В зависимост от това къде искате да се появи менюто, използвайте една или повече от следните процедури.

  • Добавяне на менюто към раздела Add-Ins на формуляр или отчет

    Използвайте тази процедура, ако искате менюто да се показва в раздела Добавки за конкретен формуляр или отчет, както е показано на илюстрацията по-долу :

    Разширени функции IF

    1. В навигационния екран щракнете с десния бутон върху формуляра или отчета, където искате да се появи менюто, и след това щракнете върху Режим на проектиране.

    2. В раздела Структура, в групата Показване/скриване щракнете върху Списък на свойствата.

    3. Изберете целия обект, като изберете Формуляр или Отчет от списъка в горния край на прозореца на задачите Списък със свойства.

    4. В раздела Други на списъка със свойства, в полето на свойството Контекстно меню въведете името на макроса, който създадохте в стъпка 2 (в този пример "mcrAddShortcutMenu").

      Следващия път, когато отворите формуляра или отчета, разделът Добавки се показва на лентата. Щракнете върху раздела, за да видите менюто.

      За повече информация относно техниките за персонализиране на лентата, като например добавяне на раздели по избор или скриване на разделите по подразбиране, вж. статията Създаване на лента по избор в Access.

      Лентата е компонент на Потребителски интерфейс Microsoft Office Fluent.

  • Добавяне на менюто като контекстно меню за формуляр, отчет или контрола

    Използвайте тази процедура, ако искате менюто да се показва, когато щракнете с десния бутон върху конкретен формуляр, отчет или контрола, както е показано на илюстрацията по-долу:

    A simple shortcut menu

    1. В навигационния екран щракнете с десния бутон върху формуляра или отчета, където искате да се появи контекстното меню, и след това щракнете върху Режим на проектиране.

    2. В раздела Структура, в групата Показване/скриване щракнете върху Списък на свойствата.

    3. Изберете контролата или обекта, към който искате да прикачите контекстното меню.

      Забележка: За да изберете целия обект, изберете Формуляр или Отчет от списъка в горния край на прозореца на задачите Списък със свойства.

    4. В раздела Други на списъка със свойства, в полето на свойството Лента с контекстно меню въведете името на макроса, който създадохте в стъпка 2 (в този пример "mcrAddShortcutMenu").

  • Добавяне на менюто като глобално контекстно меню

    Тази процедура замества всички контекстни менюта по подразбиране в текущата база данни. Контекстните менюта по избор, които сте прикачили към определени формуляри, отчети или контроли, не са засегнати.

    1. Щракнете върху бутона Microsoft Office и след това върху Опции на Access.

    2. В диалоговия прозорец Опции на Access щракнете върху Текуща база данни.

    3. Под Опции за лентата и лентата с инструменти, в полето Лента с контекстно меню въведете името на макроса, който създадохте в стъпка 2 (в този пример "mcrAddShortcutMenu").

  • Контекстните менюта по избор заместват контекстните менюта по подразбиране за обектите, към които са прикачени. Ако искате да запазите определени команди на Access, които да използвате в тези менюта, използвайте действието RunCommand , за да поставите командите в групите с макроси за менютата, в които ги искате.

  • Контекстното меню по избор, което е прикачено към контрола, замества всички други потребителски контекстни менюта, които са дефинирани в базата данни. Контекстно меню по избор, което е прикачено към формуляр или отчет, замества потребителско глобално контекстно меню.

  • Когато зададете макрос от меню за формуляр, отчет или за базата данни, Access изпълнява този макрос от меню всеки път, когато формулярът, отчетът или базата данни се отварят. Ако правите промени в макроса от менюто или групата макроси, която дефинира командите му, докато формулярът, отчетът или базата данни са отворени, трябва да затворите формуляра, отчета или базата данни и да го отворите отново, за да видите промените.

  • За да създадете подменю, следвайте стъпка 1, за да създадете отделна група макроси, която съдържа само командите на подменюто. След това изпълнете отново стъпка 1, за да дефинирате командите за менюто от по-високо ниво. Добавяне на подменюто като елемент в групата макроси от по-високо ниво с помощта на макрокомандата AddMenu . Следващата илюстрация показва групата макроси за меню, което съдържа подменю, и след това показва полученото контекстно меню. Третият ред в групата макроси създава подменюто Експортиране в... (mcrSubMenu).

    A shortcut menu that contains a submenu

    Можете да създадете няколко нива на подменюта с помощта на действия AddMenu в групите макроси за всяко ниво на меню. Не забравяйте да зададете стойност за аргумента "Име на меню" за всяко действие AddMenu , в противен случай подменюто ще се покаже като празен ред в менюто от по-високо ниво.

  • Условията за макроси се поддържат само в макроса от менюто от най-високо ниво. С други думи, можете да използвате условие в макрос от меню, за да определите дали ще се покаже определено меню или контекстно меню, но само за менютата от най-горното ниво. Не можете да използвате условия, за да показвате или скривате команди или подменюта в менютата. Можете също да използвате условие, за да скриете или покажете потребителско контекстно меню или глобално контекстно меню.

  • Ако желаете, макросът от менюто, който създавате в стъпка 2, може да бъде част от група макроси. Ако например имате няколко контекстни менюта за различни обекти или контроли, можете да създадете един обект макрос, който съдържа всички необходими макроси от менюто. Не забравяйте да покажете колоната Име на макрос и да въведете уникално име за всеки макрос. В стъпка 3 използвайте следната нотация, за да препратите към макроса: macrogroupname.macroname. Например mcrAddShortcutMenus.AddMenu2.

Най-горе на страницата

Нуждаете ли се от още помощ?

Искате ли още опции?

Разгледайте ползите от абонамента, прегледайте курсовете за обучение, научете как да защитите устройството си и още.

Общностите ви помагат да задавате и отговаряте на въпроси, да давате обратна връзка и да получавате информация от експерти с богати знания.

Беше ли полезна тази информация?

Доколко сте доволни от качеството на езика?
Какво е повлияло на вашия потребителски опит?
Като натиснете „Подаване“, вашата обратна връзка ще се използва за подобряване на продуктите и услугите на Microsoft. Вашият ИТ администратор ще може да събира тези данни. Декларация за поверителност.

Благодарим ви за обратната връзка!

×