Applies ToAccess за Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

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

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

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

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

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

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

Съвет: Ако искате да научите как да създавате контекстни менюта по избор в 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.

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

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

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

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

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