Введение в программирование на VBA - eDrive

Введение в программирование на VBA - eDrive Введение в программирование на VBA - eDrive

edrive.narod.ru
from edrive.narod.ru More from this publisher
06.01.2015 Views

16 диалога Настройка. На вкладке Команды данного окна в категории Макросы перетаскивают объект Настраиваемая кнопка на одну из панелей инструментов. Затем в контекстном меню новой кнопки выбирают пункт Назначить макрос, указывают один из макросов и нажимают кнопку ОК. Вместо контекстного меню можно использовать кнопку Изменить выделенный объект того же окна Настройка. А для назначения макроса пункту меню, на вкладке Команды выбирается категория Новое меню, и в строку меню перетаскивается объект Новое меню. В Access макрос указывает на языке макрокоманд, какие действия следует выполнить в ответ на то или иное событие. При наличии открытой базы данных Access любая группа ее макросов открывается с вкладки Макросы, доступной через меню Вид .Объекты базы данных .Макросы. Для открытия окна макроса выделяют имя группы и нажимают кнопку Конструктор. Окно разделено на четыре столбца — Имя макроса, Условие, Макрокоманда и Примечание, причем первые два из них могут оказаться скрытыми в меню Вид .Имена макросов и Вид .Условия или под одноименными кнопками панели инструментов. Использование столбца Имя макроса необязательно, если в окне находится всего один макрос. В этом случае имя окна совпадает с именем макроса. Если же окно содержит несколько макросов, то каждый макрос в нем обладает уникальным именем, определяемым программистом. Как правило, каждая такая группа описывает процесс обработки событий одного объекта базы данных: формы или отчета. Ее назначение комментируется в столбце Примечание, который Access игнорирует при выполнении. Каждый макрос ассоциируется с группой макрокоманд, обрабатываемых одна за другой, пока Access не обнаружит строку с новым именем или не достигнет последней строки окна макроса. Пустые строки игнорируются, поэтому такими строками принято разделять макросы в группе для удобства их чтения и правки. Все макрокоманды макроса перечислены в столбце Макрокоманда. После выделения любой из них в нижней части окна раскрывается список аргументов, уточняющих область значений и особенности выполнения. В столбец Условие может быть занесено условное выражение, определяющее необходимость выполнения макрокоманды соответствующей строки. Макрокоманда запускается только в случае выполнения условия. В противном случае Access ее пропускает. Если одним условием надо запустить несколько макрокоманд, в последующих строках столбца Условие располагают многоточие (…). Если запуск макрокоманды нужно произвести только тогда, когда условие не выполняется, используется макрокоманда ОстановитьМакрос. Всякий раз, когда условие не выполняется, Access переходит к выполнению первой из макрокоманд, против которой нет многоточия. Макрокоманда ЗапускМакроса используется для организации циклов. Ее аргументы указывают число повторений или их условия.

17 Для документирования макросов создается отчет из меню Сервис .Анализ .Архивариус. Перед программированием макроса назначается событие, реакцию на которое он должен описывать: Событие Имя Комментарий События мыши и клавиатуры Двойной щелчок DblClick При двойном щелчке мышью, в обрамлении событий Click Нажатие кнопки Click При щелчке левой кнопкой мыши Кнопка вниз MouseDown При нажатии любой кнопки мыши Кнопка вверх MouseUp При отпускании любой кнопки Перемещение указателя MouseMove При передвижении мыши Клавиша вниз KeyDown При нажатии клавиши клавиатуры Клавиша вверх KeyUp При отпускании клавиши Нажатие клавиши KeyPress При нажатии символьной клавиши События окна Открытие Open До отображения данных Загрузка Load После открытия и вывода данных Выгрузка UnLoad Закрытие Close Изменение размера Resize В т.ч. при первом открытии формы События данных Вход Enter Перед принятием элементом фокуса Получение фокуса GotFocus После принятия элементом фокуса Выход Exit При выходе, но до потери фокуса Применение фильтра ApplyFilter Включение Activate Перед получением формой фокуса Отключение Deactivate Текущая запись Current Перед получением фокуса записью До вставки BeforeInsert Перед обновлением записи После вставки AfterInsert После обновления записи Удаление Delete До подтверждения Del BeforeDel- Перед открытием окно диалога, Confirm подтверждающего удаление После подтверждения Del AfterDel- Confirm После закрытия окна диалога, подтверждающего удаление До обновления Before- При выходе с изменением элемента, Update перед заполнением буфера записи После обновления AfterUpdate При выходе с изменением элемента, после заполнения буфера записи Изменение Change При изменении текста

16<br />

диалога Настройка. На <strong>в</strong>кладке Команды данного ок<strong>на</strong> <strong>в</strong> категории<br />

Макросы перетаски<strong>в</strong>ают объект Настраи<strong>в</strong>аемая кнопка <strong>на</strong> одну из<br />

панелей инструменто<strong>в</strong>. Затем <strong>в</strong> контекстном меню но<strong>в</strong>ой кнопки <strong>в</strong>ыбирают<br />

пункт Наз<strong>на</strong>чить макрос, указы<strong>в</strong>ают один из макросо<strong>в</strong> и <strong>на</strong>жимают кнопку<br />

ОК. Вместо контекстного меню можно использо<strong>в</strong>ать кнопку Изменить<br />

<strong>в</strong>ыделенный объект того же ок<strong>на</strong> Настройка. А для <strong>на</strong>з<strong>на</strong>чения макроса<br />

пункту меню, <strong>на</strong> <strong>в</strong>кладке Команды <strong>в</strong>ыбирается категория Но<strong>в</strong>ое меню, и <strong>в</strong><br />

строку меню перетаски<strong>в</strong>ается объект Но<strong>в</strong>ое меню.<br />

В Access макрос указы<strong>в</strong>ает <strong>на</strong> языке макрокоманд, какие дейст<strong>в</strong>ия<br />

следует <strong>в</strong>ыполнить <strong>в</strong> от<strong>в</strong>ет <strong>на</strong> то или иное событие.<br />

При <strong>на</strong>личии открытой базы данных Access любая группа ее макросо<strong>в</strong><br />

откры<strong>в</strong>ается с <strong>в</strong>кладки Макросы, доступной через меню Вид .Объекты<br />

базы данных .Макросы. Для открытия ок<strong>на</strong> макроса <strong>в</strong>ыделяют имя группы<br />

и <strong>на</strong>жимают кнопку Конструктор. Окно разделено <strong>на</strong> четыре столбца —<br />

Имя макроса, Усло<strong>в</strong>ие, Макрокоманда и Примечание, причем пер<strong>в</strong>ые д<strong>в</strong>а<br />

из них могут оказаться скрытыми <strong>в</strong> меню Вид .Име<strong>на</strong> макросо<strong>в</strong> и Вид<br />

.Усло<strong>в</strong>ия или под одноименными кнопками панели инструменто<strong>в</strong>.<br />

Использо<strong>в</strong>ание столбца Имя макроса необязательно, если <strong>в</strong> окне <strong>на</strong>ходится<br />

<strong>в</strong>сего один макрос. В этом случае имя ок<strong>на</strong> со<strong>в</strong>падает с именем макроса. Если<br />

же окно содержит несколько макросо<strong>в</strong>, то каждый макрос <strong>в</strong> нем обладает<br />

уникальным именем, определяемым программистом. Как пра<strong>в</strong>ило, каждая<br />

такая группа описы<strong>в</strong>ает процесс обработки событий одного объекта базы<br />

данных: формы или отчета. Ее <strong>на</strong>з<strong>на</strong>чение комментируется <strong>в</strong> столбце<br />

Примечание, который Access игнорирует при <strong>в</strong>ыполнении.<br />

Каждый макрос ассоциируется с группой макрокоманд,<br />

обрабаты<strong>в</strong>аемых од<strong>на</strong> за другой, пока Access не об<strong>на</strong>ружит строку с но<strong>в</strong>ым<br />

именем или не достигнет последней строки ок<strong>на</strong> макроса. Пустые строки<br />

игнорируются, поэтому такими строками принято разделять макросы <strong>в</strong><br />

группе для удобст<strong>в</strong>а их чтения и пра<strong>в</strong>ки. Все макрокоманды макроса<br />

перечислены <strong>в</strong> столбце Макрокоманда. После <strong>в</strong>ыделения любой из них <strong>в</strong><br />

нижней части ок<strong>на</strong> раскры<strong>в</strong>ается список аргументо<strong>в</strong>, уточняющих область<br />

з<strong>на</strong>чений и особенности <strong>в</strong>ыполнения.<br />

В столбец Усло<strong>в</strong>ие может быть занесено усло<strong>в</strong>ное <strong>в</strong>ыражение,<br />

определяющее необходимость <strong>в</strong>ыполнения макрокоманды соот<strong>в</strong>етст<strong>в</strong>ующей<br />

строки. Макрокоманда запускается только <strong>в</strong> случае <strong>в</strong>ыполнения усло<strong>в</strong>ия. В<br />

проти<strong>в</strong>ном случае Access ее пропускает. Если одним усло<strong>в</strong>ием <strong>на</strong>до<br />

запустить несколько макрокоманд, <strong>в</strong> последующих строках столбца Усло<strong>в</strong>ие<br />

располагают многоточие (…). Если запуск макрокоманды нужно произ<strong>в</strong>ести<br />

только тогда, когда усло<strong>в</strong>ие не <strong>в</strong>ыполняется, используется макрокоманда<br />

Остано<strong>в</strong>итьМакрос. Всякий раз, когда усло<strong>в</strong>ие не <strong>в</strong>ыполняется, Access<br />

переходит к <strong>в</strong>ыполнению пер<strong>в</strong>ой из макрокоманд, проти<strong>в</strong> которой нет<br />

многоточия. Макрокоманда ЗапускМакроса используется для организации<br />

цикло<strong>в</strong>. Ее аргументы указы<strong>в</strong>ают число по<strong>в</strong>торений или их усло<strong>в</strong>ия.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!