Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Назначение макросу комбинации клавиш

Поиск

Иногда создается макрос настолько удобный, что хочется иметь его под рукой все время. Сде­лать это можно, назначив макросу комбинацию клавиш. Затем вместо направления в область переходов вы нажимаете, например <Ctrl>+<M>, и ваш макрос немедленно стартует.

 

 

Подсказка

Клавиши очень ценны. Назначайте макросу комбинации клавиш, только если он наверняка бу­дет часто использоваться и с множеством разных форм и таблиц.

 

 

Довольно странный способ присваивания макросу комбинации клавиш, принятый в про­грамме Access, состоит в создании еще одного макроса. Этот макрос должен быть назван AutoKeys и его единственная задача — присвоить сочетания клавиш другим макросам.

Как же действует макрос AutoKeys? Все дело в имени. Когда добавляется макрос в группу AutoKeys, вы даете ему специальным образом закодированное имя, реально пред­ставляющее собой сочетание клавиш. Когда вы называете макрос ^ М, программа Access знает, что его надо запускать, когда нажимается комбинация клавиш <Ctrl>+<M>. На рис. 15.17 показано несколько примеров макросов.

 

 

Примечание

На рис. 15.17 видно, что каждый макрос в группе выполняет отдельно хранящийся объект-макрос с помощью макрокоманды ЗапускМакроса. Такой проект необязателен (можно кодировать


каждый макрос непосредственно внутри группы AutoKeys с помощью включения в нее всех необходимых макрокоманд), но он улучшает упорядочивание. Он обеспечивает больше гибкости, поскольку можно использовать наборы разных макросов с одними и теми же сочета­ниями клавиш и при этом не удалять макросы из группы AutoKeys.

Рис. 15.17. В данном примере группа макросов AutoKeys содержит три макроса, которым назначены комбинации клавиш <Ctrl>+<Shift>+<M>, <Ctrl>+<Shift>+<P> и <Ctrl>+<Shift>+<T> соответственно

 

Единственная особенность применения группы макросов AutoKeys — знание правил именования макросов, позволяющих программе Access применять те сочетания клавиш, которые вы назначили. Access разрешает использовать буквы и цифры в комбинации с кла­вишами <Ctrl> и <Shift>. (Клавиша <Alt> запрещена, поскольку используется при выборе команд на ленте.) Кроме того, можно использовать функциональные клавиши (<F1>— <F12>) и клавиши <Insert> и <Delete>, также в сочетании с клавишами <Ctrl> и <Shift>.

Вот как именуется макрос:

■ ^ обозначает клавишу <Ctrl>. Таким образом, ^ М означает <Ctrl>+<M>;

+ обозначает клавишу <Shift>. Таким образом, ^+ М означает <Ctrl>+<Shift>+<M>;

{F1} обозначает клавишу <F1>. Таким образом, +{Fi} означает <Shift>+<Fl>. Все остальные функциональные клавиши применяются аналогично;

{INS} обозначает клавишу <Insert> и {DEL} обозначает клавишу <Delete>. Таким образом, ^ {INS} — это <Ctrl>+<Insert>.

Подсказка

Прежде чем вы назначите макросу комбинацию клавиш, следует проверить, не выполняет ли это сочетание клавиш что-нибудь полезное. Ваш макрос переопределяет встроенные команды


Access. Примером может служить сочетание <Ctrl>+<S>, сохраняющее текущий объект. Для снижения вероятности возникновения конфликтов при использовании клавиатурных сочетаний используйте комбинации, включающие клавишу <Shift>, которая применяется реже.

 

Настройка макроса запуска

Неизбежно, время от времени вы будете создавать макрос, который настолько важен, что вы захотите запускать его, как только будет открываться БД. Возможно, этот макрос открывает некоторые важные формы и отчеты, импортирует данные из другого файла или запускает очищающий запрос. Независимо от причины программа Access упрощает процесс выполне­ния макроса запуска. Все, что нужно сделать, — назвать ваш макрос AutoExec.

Access также предоставляет способ обхода макроса AutoExec. Если держать нажатой клавишу <Shift> во время первой загрузки БД, программа Access не выполняет макрос AutoExec (и не отображает любую стартовую форму, которую вы, может быть, настроили). Но не надейтесь на эту уловку, поскольку очень легко забыть нажать клавишу <Shift> в нужное время.

 

 

Подсказка

Помните о том, что если ваш макрос содержит опасные макрокоманды и ваша БД не надежна, программа Access не выполнит его. Если открыть ненадежную БД и выбрать включение опас­ного содержимого БД с помощью панели сообщений, Access повторно загрузит БД и в этот момент запустит макрос AutoExec.

 

Присоединение макросов к формам

Самые изощренные макросы работают вместе с формами вашей БД. С помощью такого объ­единения можно создать макрос, который выполняется автоматически, когда что-то проис­ходит (например, когда кнопка щелкается мышью или изменяется запись). Можно также создать гораздо более гибкие макросы, у которых нет фиксированных значений аргументов — вместо этого нужные данные они могут взять из текстовых полей формы.

В следующих разделах вы узнаете, как помочь макросам и формам объединиться.

 

 

Что такое событие

До настоящего момента вы выполняли макросы тривиальным способом: выискиванием в области переходов нужных вам элементов и затем запуском их вручную. Но в хорошо спро­ектированной БД макросы редко играют на публике. Чаще они остаются за кадром, пока не засверкают в действии. Можно создать макрос, который запускается при щелчке кнопки мышью, открытии формы или внесении изменения в текстовое поле. Эти побудительные причины называют событиями.

У формы есть три типа событий.

События элементов управления. Эти события особенно полезны. Они происходят, когда вы что-то делаете с элементом управления. Например, когда вы щелкаете кнопку мышью, возникает событие Нажатие кнопки (On Click). (Подходящий момент для вы­полнения любой макрокоманды.) Когда изменяется значение в элементе Поле, возника­ет событие Изменение (On Change). (Самое время проверить, имеет ли смысл введенное


значение с помощью удачно подобранного условия на значение.) Как вы увидите, боль­шинство названий событий на английском языке начинаются со слова "On".

 

 

Примечание

У многих элементов управления одинаковые события. Если у вас на форме два поля и одна кноп­ка, у всех у них есть событие Нажатие кнопки (On Click). Но путаницы не возникает, поскольку программа Access отслеживает, какое событие возникает в каком элементе управления.

 

 

События разделов. Как вы узнали раньше, формы имеют разделы, поэтому можно отде­лить содержимое заголовка и примечания от остальных данных записи. У каждого раз­дела есть несколько собственных событий, которые происходят, когда вы перемещаете мышь в разделе (ПеремещениеУказателя (On Mouse Move)) или щелкаете кнопкой мыши на пустом месте (НажатиеКнопки (On Click)). Эти события, как правило, менее полезны для программистов макроса.

События формы. Длинный список более общих, событий относится к форме. Этот список включает события, которые возникают, когда форма открывается впервые (Открытие (On Open)) и когда она закрывается (Закрытие (On Close)), когда вы переходите от од­ной записи к следующей (Текущая Запись (On Current)) и когда завершается операция над данными, например, обновление (После обновления (After Update)).

Рис. 15.18. Здесь показаны события для типичного поля ввода. Если щелкнуть кнопкой мыши одно из полей вкладки События, в строке состояния, в левой нижней части окна, появляется однострочное описание события. Как можно видеть, сейчас все поля событий пусты, что означает отсутствие присоединенного макроса


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

1. Откройте форму в режиме Конструктора.

Если на экране нет Окна свойств, отобразите его, выбрав на ленте Инструменты конст­руктора форм | Конструктор → Сервис → Страница свойств (Form Tools | Design Tools Property Sheet).

2. Выберите элемент, имеющий события, которые вы хотите исследовать.

Можно выбрать отдельный элемент управления, раздел или форму. Если не удается вы­делить мышью нужный элемент в рабочей области формы, просто выберите его по имени из раскрывающегося списка в верхней части Окна свойств.

3. В Окне свойств перейдите на вкладку События.

Теперь вы увидите список событий, предоставляемых элементом управления, как пока­зано на рис. 15.18.

Самая большая проблема применения событий — выбор тех, которые нужно использо­вать. Если потратить несколько секунд на изучение событий вашей формы, обнаружатся десятки событий, многие из которых редко используются или являются узкоспециализиро­ванными. Тут может оказаться очень кстати табл. 15.4 — в ней обращается внимание на со­бытия, наиболее полезные для программирования макроса.

 

Таблица 15.4. События, полезные для программирования макроса

 

Элемент управления Событие Описание
Все элементы управления Вход (On Enter) Возникает, когда вы переходите к элементу управления в первый раз (либо нажатием клавиши, такой как <Таb>, либо щелчком кнопки мыши)
  Перемещение указателя (On Mouse Move) Происходит, когда мышь перемещается по элементу управления
Любой редактируе­мый элемент управ­ления Изменение (On Change) Возникает, когда изменяется значение в элементе управления
Кнопка Нажатие кнопки (On Click) Происходит, когда кнопку щелкают мышью. У других элементов управления тоже есть событие, связанное со щелчком кнопкой мыши, но большинство пользователей при­выкло щелкать мышью кнопки, чтобы вы­полнить какое-либо действие
Поле со списком Отсутствие в списке(On Not In List) Возникает, когда вводится значение, кото­рого нет в списке
Форма Загрузка (On Load) Происходит, когда форма открывается впервые (и вы можете инициализировать ее)

Таблица 15.4 (окончание)

 

Элемент управления Событие Описание
  Закрытие (On Close) Возникает, когда форма закрывается. Мож­но отменить это событие, если хотите оста­вить форму открытой
  Текущая запись (On Current) Происходит, когда вы переходите к записи (включая открытие формы и переход к пер­вой записи)
  Внесены изменения (On Dirty) Возникает, когда вы вносите первое изме­нение в запись. Сейчас она в режиме редак­тирования
  Отмена(On Undo) Происходит, когда вы выходите из режима редактирования и отменяете внесенные изменения (обычно нажатием клавиши <Esc>)
  До вставки (Before Insert), До обновления (Before Update), До подтвержде­ния (Before Del Confirm) Возникает в процессе вставки, обновления или удаления. Можно отменить это событие, если не нравится то, что видите (например, обнаружили некорректные данные)
  После вставки (After Insert), После обновления (After Update), После подтвер­ждения (After Del Confirm) Происходит после завершения операции. Вы уже не можете отменить его, но может воз­никнуть желание отреагировать на измене­ния выполнением другой задачи или обнов­лением отображенных данных

 

Примечание

События обновления, вставки и подтверждения (две последние строки таблицы) также приме­нимы к любому редактируемому элементу управления. Поле использует события До обновле­ния и После обновления для обозначения момента изменения его значения. В главе 17 вы найдете пример, применяющий это событие для немедленной реакции на изменение конкрет-, ного поля (не дожидаясь, пока будет обновлена вся запись).

 

 

Если просмотреть вкладку События в Окне свойств, то можно найти множество собы­тий, включая такие, которые позволяют реагировать на нажатие клавиши, щелчок кнопки мыши в любом месте или переход от одного элемента управления к другому. Не старайтесь запомнить все эти варианты прямо сейчас. После того как вы научитесь отвечать на событие, используя макрос, вы сможете обрабатывать практически любое событие.

 

 



Поделиться:


Последнее изменение этой страницы: 2016-08-14; просмотров: 272; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 13.58.105.80 (0.008 с.)