Управление воспроизведением макрокоманд. Как пишут макрокоманды (экшены) Список контрольных вопросов

Изменением порядка команд в списке палитры можно менять и последовательность выполнения команд. Кроме того, команды одной макрокоманды можно перемещать в другие.

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

Изменение параметров макрокоманд

При своем создании макрокоманда получает имя и цвет, которым она отображается в режиме командных кнопок, а также комбинацию клавиш. При необходимости в любой момент эти параметры можно изменить с помощью команды Action Options (Параметры операции), которая выводит на экран диалоговое окно, идентичное окну New Action (Новая операция), описание которого приводится в следующем разделе.

Создание и запись макрокоманд

Создание макрокоманды (action ) заключается в том, что во время выполнения той или иной последовательности команд программа Adobe Illustrator записывает их в том же порядке, включая и те параметры, которые использовались каждой конкретной командой.

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

Разработка подобных макрокоманд открывает широкие возможности пользователям для приложения своих творческих сил. По назначению результат близок к модулям plug-in, но создается легче и не требует специальных знаний.

Однако существуют и ограничения: некоторые команды и функции могут включаться в макрокоманды только с помощью записи (recording ). Для включения в операцию команд, которые не могут быть записаны во время записи, следует использовать команду Insert Menu Item (Вставить пункт меню). Информацию об этом см. в следующем разделе данного приложения.

Совет
Следует обратить внимание еще на одно очень существенное ограничение. Успех выполнения записанной макрокоманды с другим документом и в другое время в значительной степени зависит от параметров другого документа (цветовой модели, выделенного объекта, активного слоя и т. д.), а также от текущих установок программы (например, цветов заливки и обводки и некоторых других)
.

Поскольку для того чтобы записать последовательность команд (рис. П1.3), их необходимо прежде всего выполнить, а в процессе выполнения возможны ошибочные действия, настоятельно рекомендуется проводить эксперименты с копиями (особенно это касается важных документов).

Совет
Следует также иметь в виду, что при использовании в качестве элементов макрокоманды команд Save As (Сохранить как) или Save a Copy (Сохранить копию) в диалоговых окнах этих команд не нужно вводить конкретные имена файлов
.

Рис. П1.3 . Пример записи нескольких действий в макрокоманду


Рис. П1.4 . Диалоговое окно New Action

Итак, для того чтобы создать макрокоманду методом записи (recording ), необходимо открыть редактируемый документ, вывести на экран палитру Actions (Операции), выбрать в ней набор макрокоманд и выполнить одно из двух действий:

В обоих случаях на экран будет выведено диалоговое окно New Action (Новая операция) (рис. П1.4), в котором можно присвоить имя макрокоманде (поле Name (Имя)), определить набор макрокоманд (список Set (Набор)) и комбинацию клавиш для ее запуска (поле Function Key (Функциональная клавиша)), выбрать один из семи цветов для отображения строки макрокоманды в палитре (список Color (Цвет)).

Затем следует нажать кнопку Begin Record (Запись), после чего точка на этой кнопке станет красного цвета.

Теперь можно начинать выполнение команд, которые необходимо сохранить в макрокоманде. Если команда имеет диалоговое окно, то после установки необходимых значений, следует нажать кнопку ОК . Если предполагается делать изменения настроек в процессе выполнения макрокоманды, можно оставить значения по умолчанию, но и в этом случае следует обязательно нажать кнопку ОК . При выходе из диалогового окна по нажатии кнопки Cancel (Oтменить) данная команда не записывается в макрокоманду.

Остановка записи Происходит при нажатий на кнопку Stop Playing/Recording (Остановка выполнения/записи) в нижней части палитры Actions (Операции) (первая слева).

Из этой лекции вы узнаете следующее:

  • для чего нужны макросы;
  • как создать и использовать макрос;
  • как экспортировать и импортировать макросы;
  • как обеспечить безопасность при работе с макросами.

9.1. Что такое макросы и зачем они нужны

У каждого опытного пользователя интерфейс Microsoft Word уникальный и изменяется в зависимости от того, какие инструменты ему необходимы в работе. Вы вряд ли увидите одинаковые панели инструментов или пункты главного меню - чтобы сделать работу наиболее удобной, каждый пользователь стремится настроить программу по-своему. Однако иногда изменения только интерфейса (вынесение основных команд на панель инструментов и создание пользовательских меню ) недостаточно.

Если работа однообразная, то пользователю приходится часто повторять те или иные команды в определенной последовательности (например, оформлять текст курсивом, кеглем 10, гарнитурой Arial). Чтобы произвести такое небольшое форматирование , может понадобиться достаточно большое количество времени, особенно если таким образом необходимо выделить несколько десятков слов. Получается, что для каждого участка нужно проделывать несколько операций. Конечно, можно отформатировать только один участок и создать пользовательский стиль, но и это не самый быстрый способ применения оформления.

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

Макросы всегда выполняются в активном документе. Действие некоторых макросов зависит от позиции вставки. Другие могут обращаться только к определенному объекту (например, к абзацу или выделенному участку текста). В данном случае перед выполнением макроса нужно выбрать этот элемент. Если же макрос не обращается к определенному объекту (например, выполняет команду перехода к следующему окну), то его можно выполнить в любое время.

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

Внешний макрос можно применять в случае, если он полезен при работе с документами, созданными на основе разных шаблонов. Если вы пользуетесь большим количеством шаблонов, то вносить в каждый из них макрос будет неудобно, как придется делать при использовании внутреннего макроса. Внешний же макрос можно применять для работы с любыми документами, а также свободно переносить с компьютера на компьютер . Для создания внешнего макроса его нужно сохранить с расширением BAS .

9.2. Создание макросов

Самый простой способ создания макроса - запись нужных действий в документе. Записав последовательность команд один раз, можно будет вызывать макрос щелчком мышью, когда нужно выполнить такие же действия. Для записи макросов сделайте следующее.

Назначение макроса кнопке

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


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

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


Запись макроса

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

Упражнение 9.1. Запись макроса

Создадим макрос, с помощью которого можно щелчком мышью применить к выделенному участку текста гарнитуру Arial, полужирное начертание и размер шрифта 10.

Когда появится панель записи макроса, сделайте следующее.


Теперь можно проверить его действие. Откройте любой документ, выделите требуемый участок и вызовите макрос с помощью кнопки на панели быстрого запуска или сочетания клавиш. Вы увидите, что форматировать текст, используя макрос, гораздо удобнее, чем каким-либо другим способом.

Макрокоманда Назначение
ОткрытьФорму Может открыть форму в режиме предварительного просмотра. Возможно применить фильтр и задать условия отбора
ОткрытьЗапрос Может открыть запрос в режиме предварительного просмотра
ОткрытьТаблицу Может открыть таблицу в режиме предварительного просмотра.
ВывестиВформате Выводит заданную таблицу, запрос, форму, отчет или модуль в файл в формате XLS, RTF или TXT, а также запускает соответствующее приложение для редактирования файла.
Печать Выполняет печать активной таблицы, формы или отчета. Можно задать диапазон печатаемых страниц, число копий и необходимость раскладки копий
КомандаМеню Выполняет команду главного меню Access
Выход Закрывает все окна и осуществляет выход из Access
ЗапускМакроса Запускает другой макрос
ОстановитьВсеМакросы Останавливает работу всех макросов, включая макрос, который запустил этот макрос
Добавить меню Добавляет в строке пользовательского меню раскрывающееся меню для формы или отчета. В аргументах данной макрокоманды указывается имя строки меню и имя другого макроса, который содержит все используемые в меню команды и все действия, соответствующие этим командам
КомандаМеню Выполняет команду одного из главных меню Access. Используя эту макрокоманду внутри строки пользовательского меню, можно выполнить в пользовательском меню имеющиеся в нем команды.
КомандыКлавиатуры Запоминает последовательность нажимаемых клавиш
ЗадатьЗначение Изменяет значение любого элемента управления или свойства, которое можно обновить
Сигнал Выдает звуковой сигнал
Сообщение Выводит предупреждающее или информационное сообщение
Установить Сообщения Когда она включена, клавиша Enter назначается как клавиша ответной реакции на все системные предупреждающие или информационные сообщения при работе макроса. Чтобы отменить вывод сообщений, надо использовать эту команду вместе с макрокомандой ВыводНаЭкран, установленной в состояние "Нет" (Off)
Вывести на экран Выводит на экран информацию о промежуточных действиях, выполняемых при работе макроса
Развернуть Увеличивает размер активного окна до полного размера
Свернуть Сворачивает активное окно в значок
СдвигРазмер Изменяет размер активного окна
Восстановить Восстанавливает окно в прежних размерах

Для работы с макросами в панели инструментов предназначены следующие кнопки (рис. 9.1.):

Кнопка Имена макросов (с изображением «XYZ») отображает или убирает столбец “Имя макроса” , где можно присваивать имена макросам, входящим в группу;

Кнопка Условия (с изображением блок-схемы) отображает или убирает столбец “Условие” в окне макроса, где можно задать условие, с которым связано какое-то действие;

Кнопка Выполнить (с изображением «!») запускает макрос;

Кнопка По шагам (с изображением стрелки и списка) выполняет макрос по шагам;

Для обслуживания некоторого объекта, входящего в базу данных, создается подчас многочисленная совокупность макросов, каждый из которых автоматизирует некоторую вполне конкретную процедуру. Рекомендуется все макросы, связанные с событиями в форме или отчету, объединить в отдельный объект (группу), соответствующий данной форме или отчету. Каждый макрос должен иметь уникальное имя в пределах группы. Имя объекта Макрос будет являться именем группы. Вызов макрокоманды из макрогруппы осуществляется точным указанием имени макрогруппы и макрокоманды в группе: имяГруппы.имяМакроса.

Порядок выполнения макрокоманд в макросе может быть изменен. Для этого в макросе вводятся условия выполнения или пропуска макрокоманд. Условия задаются в виде выражения в столбце Условие.

Ссылка на форму или отчет состоит из двух частей: имяСемейства!имяОбъекта. Все открытые формы входят в семейство Формы, открытые отчеты – в семейство Отчеты. Например, Формы![Заказы клиента] или Формы!Клиент; ссылка на отчет – Отчеты![Отчет о продажах]. Если имя объекта содержит пробелы или специальные символы, оно обязательно должно быть заключено в квадратные скобки. Ссылка на свойство формы или отчета состоит из трех частей: имяСемейства!имяОбъекта.имяСвойства. Например: Формы!Клиент.Вывод на экран.

имяСемейства!имяОбъекта!имяЭлемента (например, Формы![Заказы клиента]! [Номер клиента]);

имяСемейства!имяОбъекта!имяЭлемента.имяСвойства (например, Формы![Заказы клиента]! [Доступ]).

Задание

1. Создайте макрос, содержащий макрокоманду ОткрытьФорму. Форма должна открываться с помощью кнопки, расположенной в другой форме.

2. Создайте группу, включающую наряду с новыми макрокомандами предыдущую макрокоманду. Выбор макрокоманд сделайте по своему усмотрению.

3. Создайте макрос с условиями.

Порядок выполнения работы

Создание макроса

1. В окне Базы данных щелкните по вкладке Макросы и нажмите на кнопку Создать . Откроется окно проектирования макроса аналогичное окну, приведенному на рис. 9.1. (будут отсутствовать столбцы Имя макроса и Условие ). Каждая строка в этом окне может содержать одну макрокоманду и комментарий к ней.

2. В строку, помеченную указателем, введите Макрокоманду . Команду можно вводить с клавиатуры или воспользоваться списком, который доступен в ячейках колонки Макрокоманда .

3. Желательно ввести пояснения в столбец Примечание . Комментарии облегчают понимание и сопровождение макросов.

4. Когда поле Макрокоманда заполнено, в нижней части Конструктора макроса появится панель аргументов . Список полей этой панели зависит от выбранной макрокоманды и может отсутствовать, если макрокоманда не имеет аргументов. Укажите всю требуемую системой информацию в области аргументов макрокоманды. В общем случае рекомендуется задавать аргументы макрокоманды в том порядке, в котором они перечислены, поскольку выбор одного аргумента может определять возможные значения следующего аргумента.

5. Сохраните макрос. Для этого можно воспользоваться кнопкой Сохранить , либо выполните команду ФАЙЛ/Сохранить . Присвойте имя макросу (имя должно нести смысловую нагрузку).

6. Запустите макрос на исполнение.

Вызвать и выполнить макрос можно одним из нескольких способов:

В режиме проектирования макроса (см. рис. 9.1.) щелкнуть по кнопке Выполнить ;

Выполнить команду СЕРВИС/Запуск макроса и выбрать из списка имя макроса для выполнения;

В окне Базы данных на вкладке Макросы выполнить двойной щелчок на имени подлежащего выполнению макроса.

7. Откройте в режиме Конструктора какую-либо форму, отличную от формы, для которой разрабатывается макрос.

8. Создайте кнопку, разместив его в области заголовка открытой формы. Откройте окно свойств кнопки (рис. 9.2): выделите кнопку, нажмите правую кнопку мыши, в появившемся меню выберите пункт Свойства (открыть окно свойств можно, дважды щелкнув по кнопке). В окне свойств укажите, с каким событием связывается макрос. По умолчанию это событие Нажатие кнопки .

Создание групп макросов

Объедините макросы в макрогруппу (можно сделать новый объект или преобразовать ранее созданный макрос в группу макросов).

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

2. Нажмите кнопку Имена макросов на панели инструментов. В окне Конструктора макросов появится еще один столбец Имя макроса .

3. Введите в этот столбец имя первого макроса. В этой же строке в столбце Макрокоманда введите имя макрокоманды, далее все соответствующие ей аргументы. Если предполагается, что макрос включает несколько макрокоманд, то введите их в последующих строках столбца Макрокоманда.

4. Пропустите строчку.

5. Введите имя следующего макроса и соответствующие ему макрокоманды. На рис. 9.3, в качестве примера, представлен макрос “Поставщики” БД “Борей”.

6. Проверьте работу макроса. Выполните команду СЕРВИС/Запуск макроса (будет выполнен только первый макрос из макрогруппы). Вызов других макросов из группы возможен, если в диалоговом окне ввести имя макрогруппы и через точку имя макроса.

7. Сохраните макрос.

Создание макроса с условием

Для примера на рис. 9.4 представлено окно проектирования макроса, который будет выводить на экран таблицу о товарах, находящихся на складе фирмы. Таблица “Товары на складе” будет открываться лишь тогда, когда в поле Цена формы будет внесено значение, меньше 1000. Макрос связан с элементом управления Цена в форме “Товары, проданные со склада” . Подключение этого макроса к элементу управления Цена происходит также, как и подключение макроса кнопки. Макрос будет связываться либо с событием Выход , либо с событием Вход .

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

2. Нажмите кнопку Условие. Запишите в столбце Условие выражение, при истинности которого будет выполняться создаваемый макрос. Выражения для условия удобнее задавать в окне Построитель выражений .

3. Задайте макрокоманду.

4. Сохраните макрос.

5. Откройте в режиме Конструктора форму, в которой предполагается один из элементов управления связать с разрабатываемым макросом. Свяжите элемент управления и макрос.

6. Проверьте работу макроса.

Приложение 1

Статистические функции

Функция Описание
Sum Вычисляет сумму всех значений заданного поля в каждой группе. Используется только для числовых и денежных поле.
Avg Вычисляет среднее арифметическое всех значений заданного поля в каждой группе. Используется только для числовых и денежных поле. Значения Null не включаются в вычисления.
Min (Max) Возвращает наименьшее (наибольшее) значение, найденное в заданном числовом поле внутри каждой группы. Для текстовых полей - наименьшее из символьных значений независимо от регистра. Значения Null игнорируется.
Count Возвращает число записей, в которых значения данного поля отличны от Null. Для учета значений Null используется Count(*)
StDev* Вычисляет смещенное статистическое стандартное отклонение для всех значений данного поля в каждой группе. Применяется к числовым и денежным полям. Если в группе меньше двух строк, возвращает значение Null.
StDevP* Вычисляет несмещенное статистическое стандартное отклонение
Var* Вычисляет смещенную статистическую дисперсию для всех значений данного поля в каждой группе. Применяется к числовым и денежным полям. Если в группе меньше двух строк, возвращает значение Null.
VarP* Вычисляет несмещенную статистическую дисперсию
First* Возвращает первое значение в заданном поле.
Last* Возвращает последнее значение в заданном поле.

Примечание: функции, отмеченные *, в Мастере запросов не применяются.


Приложение 2

Построитель выражений

Построитель выражений – средство построения сложных выражений. Структура окна Построителя выражений представлена на рис. П.2.1.

Текстовое поле для ввода выражения

Выражение – совокупность операторов и операндов (константы, идентификаторы и функций).

Идентификаторы – имена объектов (например, полей таблиц или запросов), которые при вычислении выражений заменяются их текущими значениями. Если имя объекта состоит более чем из одного слова, то его обязательно заключают в квадратные скобки. Однако обычно скобки ставят даже, если имя объекта состоит из одного слова, чтобы имена объектов сразу бросались в глаза при работе с выражениями.

Идентификаторами являются имена констант и переменных, применяемые в программах на языке Visual Basic для приложений, а также именованные константы True, False, Yes, No, Null.

Функции – возвращают в выражение значение вместо имени функции. Большинство функций требует заключать в скобки свои аргументы. Пример функции с пустым списком аргументов: Date () – возвращает текущую дату.

Для создания выражений существует шесть категорий операторов, которые представлены в таблице П. 2.1

Таблица П. 2.1

Операторы для создания выражений

Категория операторов Оператор Пример Описание
Арифметические операторы + [Итог]+[Надбавка] Складывает два операнда
- Date() – 7 Считает разность двух операндов
* [Коробок]*[Цена] Перемножает два операнда
/ [Количество] / 5.33 Делит один операнд на другой
\ [Количество] \ 2 Делит один целый операнд на другой нацело. При этом операнды с десятичными дробями округляются до целого
Mod [Коробок] Mod 3 Возвращает остаток отделения нацело
^ [А] ^ [b] Возводит операнд А в степень b
Операторы сравнивания 1 < 1 < 100 Меньше
<= [a] <= 2 Меньше либо равно
= [b] = 3 Равно
> [a] > 2 Больше
>= [b] >= 3 Больше либо равно
<> 1<>100 Неравно
Логические операторы 2 And [A] And [B] Конъюнкция (логическое И)
Or [A] Or [B] Дизъюнкция (логическое Или)
Not Not [A] Логическое отрицание
Xor [A] Xor [B] Исключающее ИЛИ
Eqv [A] Eqv [B] Логическая эквивалентность
Imp [A] Imp [B] Логическая импликация
Операторы конкатенации + “Visual “+”Basic” Объединение двух текстовых
& “Visual “ & ”Basic” значений в единую строку. Оба операнда эквивалентны, но & - предпочтительнее
Продолжение таблицы П.2.1
Операторы идентификации ! КлассОбъекта! ИмяОбъекта Разделитель в ссылках на объекты
. ИмяОбъекта.Метод Разделитель в ссылках на методы и свойства объектов
Операторы сравнения с образцом Between Between(-100) And (100) Определяет, находится ли числовое значение в определенном диапазоне
Is [Имя] Is Null Используется только для сравнения со значением. В примере выражение принимает истинное значение, когда в поле Имя нет никаких данных.
In In (“Москва”, ”Киев”, ”Мурманск”) Определяет, является ли строковое значение элементом списка значений
Like Like “Ив*” Like “db??” Определяет, начинается ли строковое значение с указанных символов (символ “*” замещает любое число знаков, “?” – замещает только один знак)

Примечания:

1. Результат применения операторов сравнения – True или False. Если один из операндов имеет значение Null (пустое значение), то любое сравнение возвращает значение Null.

2. Результат применения логических операторов – True или False. Операнды имеют значение из множества (True, False, Null). Для всех логических операторов, кроме Imp, значение одного из операндов Null приводит к значению результата Null.

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

Чтобы скопировать элементы выражения из списков, сначала щелкните на одной из папок в левой панели. Некоторые папки имеют дочерние папки, которые также раскрываются двойным щелчком. Список элементов, соответствующий открытой папке, отображается в правой панели.

В некоторых случаях центральная панель также включает элементы, которые можно добавить в выражения (например, идентификаторы полей таблицы).

Чтобы добавить элемент из списка в выражение текстового поля, можно сделать двойной щелчок на нем или выбрать его и щелкнуть по кнопке Вставить.


Приложение 3

Кнопки панели элементов ACCESS

Кнопка Название кнопки Функция
Выбор объекта Превращает указатель мыши в инструмент выборки объектов
Мастера Включает и отключает мастеров создания элементов управления
Надпись Текст заголовков, подписей или пояснений, этот текст остается неизменным
Поле Создает поле для отображения и редактирования текстовых данных
Группа Создает рамку для размещения выключателей, переключателей, флажков. Одновременно может быть выбран только один из объектов, помещенных в рамку. Каждому элементу рамки соответствует уникальное число
Выключатель Переключатель Флажок Выключатель, переключатель, флажок, не включенные в группу, определяют значение логического типа Да (Yes) или Нет (Nо) , до- пускается использовать Истина (True) или любое положительное число, Ложь (False) или ноль
Поле со списком Создает поле со списком, содержащее поле для ввода значения, и список, в котором можно выбрать значение из набора значений
Список Создает раскрывающийся список для выборки значений
Кнопка Создает кнопку, после щелчка на которой запускается процедура обработки событий Access VBA
Рисунок Добавляет в форму или отчет точечный рисунок. Рисунок не относится к числу объектов OLE, после размещения в форме его изменение невозможно
Свободная рамка Добавляет в форму или отчет объект OLE
Присоединенная рамка Отображает содержимое поля OLE записи, если в поле имеется графический объект, иначе отображается значок объекта
Продолжение прил. 3
Разрыв страницы При печати формы или отчета заставляет принтер начинать новую страницу в месте разрыва страницы. В режиме просмотра формы или отчета разрыв не отображается
Набор вкладок Вставляет набор вкладок для создания формы, разделенной вкладками.
Подчиненные форма/отчет Добавляет подчиненные форму/отчет в главную форму/отчет
Линия Прямоугольник Применяются для разделения формы на логические группы для имитации рамок, границ. Цвет, ширину линий, заливку прямоугольника устанавливают с помощью панели инструментов форматирования
Дополнительные элементы

Приложение 4

Список контрольных вопросов

1. Каков порядок определения структуры БД в СУБД ACCESS?

2. В каком режиме описывается структура таблицы БД?

3. Дайте определения терминам: “объект”, “свойство”, “метод”, “событие”.

4. Какие типы объектов можно увидеть в окне БД ACCESS?

5. Какое расширение принято для файлов БД?

6. Можно ли изменить структуру таблицы после ее создания?

7. Какие типы полей БД предусмотрены в ACCESS?

8. Каковы правила именования полей БД?

9. Какая информация может храниться в полях типа "объект OLE"?

10. Какие свойства поля должны быть определены обязательно?

11. Поясните назначение первичного ключа в реляционной БД. Какие ограничения накладываются на значения первичного ключа?

12. Поясните назначение индексов.

13. Можно ли создать индекс по части поля? Если “да”, то как это сделать?

14. Какие виды контроля данных могут автоматически выполняться в СУБД ACCESS?

15. Для чего необходимо описывать связи между таблицами базы данных?

16. В каком режиме следует описывать связи между таблицами?

17. Какие типы связей поддерживает СУБД ACCESS?

18. Какое влияние оказывает установка связей на ввод и изменение информации в БД?

19. В чем состоят задачи ввода и коррекции данных в БД?

20. Какие типичные операции включает задача коррекции данных?

21. Какие приемы контроля данных имеются в ACCESS?

22. Когда производится проверка данных?

23. Как добавить в таблицу новую запись?

24. Как удалить запись из таблицы?

25. Можно ли восстановить удаленную из БД информацию?

26. Как найти в таблице нужное значение?

27. Как заменить во всех записях БД название фирмы ТОО "Заря" на АО "Рассвет"?

28. Что такое шаблон поиска, какие символы и для чего применяют в шаблоне?

29. С какой целью и как производится сортировка записей БД?

30. Как ведут себя данные в других полях таблицы при сортировке по полю "Фирма" ?

31. Как отменить сортировку данных?

32. Что такое запрос и какие типы запросов поддерживает в ACCESS?

33. Как задать параметры при создании запроса-выборки с параметрами?

34. Что такое агрегированные (групповые) операции и как они применяются в запросах?

35. Как определить из каких таблиц взяты поля в шаблон вывода при конструировании запроса?

36. Что такое перекрестный запрос и как он конструируется?

37. К какому классу языков относится SQL? Как язык SQL используется при формировании запросов?

38. Какова структура запроса на языке SQL, содержащего подзапросы?

39. Можно ли передать параметры в запрос из некоторой формы, если можно, то как это сделать?

40. Можно ли вводить данные в таблицы через запросы, если можно, то в каких случаях, каковы ограничения, накладываемые на взаимосвязанные таблицы, на ввод данных в через запросы в таблицы?

41. Что такое поля группировки, можно использовать одновременно несколько полей группировки в одном запросе и каков смысл получаемого результата?

42. Что представляет из себя запрос на создание таблицы, как он работает, какую таблицу можно создать?

43. Как конструируются запросы на изменение в таблицах БД? Можно ли в одном запросе включать изменения в нескольких таблицах?

44. Что такое запросы на удаление, как они конструируются? Для чего могут быть использованы запросы на удаление? Могут ли быть запросы данного типа с параметрами.?

45. Что такое вычисляемые поля в запросах, для чего они нужны и как они конструируются?

46. Могут ли вычисляемые поля участвовать в формировании условия отбора в запросе?

48. Что такое видимые или выводимые и невидимые или невыводимые поля запроса? Зачем нужны невидимые поля запроса?

49. Как в построителе выражений можно увидеть поля конкретной таблицы, поля данного запроса? Почему при конструировании запроса не все поля видны в построителе выражений?

50. Сколько баз данных может быть открыто одновременно?

51. Какие свойства имеет объект “таблица”?

52. Назначение объекта “форма”. Какие свойства имеет объект “форма”?

53. Позволяет ли ACCESS создавать многоэкранные формы?

54. Можно ли пользоваться одной и той же экранной формой для ввода информации в разные файлы БД?

55. Как внедрить в форму подчиненную форму?

56. Назначение объекта “отчет”. Какие свойства имеет объект “отчет”?

57. Можно ли получить отчет, содержащий только итоговые строки? Если “Да”, то как?

58. Можно ли изменять длину и формат поля в выходном документе по сравнению с тем, который был задан в файле БД?

59. Что такое макрос? Назначение макросов.

60. Какие режимы допускает окно БД для таблиц, запросов и форм? Чем они отличаются от допустимых режимов для макросов?

61. Как выявить ошибки в работе макроса?

62. Можно ли в ACCESS использовать данные, которые хранятся в других форматах?

63. Как создать таблицу путем импорта данных из рабочего листа EXCEL?

1. Понятие макроса.

2. Обзор событий

3. Создание макросов.

3.1. Задание условий выполнения макрокоманд.

3.2. Создание группы макросов.

4. Запуск макроса.

1. Понятие макроса

Для автоматизации операций в СУБД MS Access предусмотрены два средства: макросы и модули . С помощью данных средств представляется возможность определить реакцию приложения на различные события, возникающие в формах и отчетах: нажатие кнопки, получение элементом управления фокуса, переход на новую запись, изменение данных, открытие формы, открытие отчета и т. п.

Макрос – это объект базы данных MS Access, представляющий собой набор из одной или нескольких макрокоманд и предназначенный для автоматизации часто выполняемых задач.

Макрокоманда – основной компонент макроса, замкнутая инструкция, самостоятельно или в комбинации с другими макрокомандами определяющая выполняемые в макросе действия. Каждая макрокоманда имеет определенное имя и возможно один или несколько аргументов, которые задаются пользователем.

Макрокоманды по функциональному признаку можно разделить на несколько категорий:

– работа с данными в формах и отчетах;

– выполнение команд, макросов, процедур и запросов;

– работа с объектами;

– импорт/экспорт данных и объектов;

– прочие.

В таблице 11.1 представлены 56 макрокоманд СУБД MS Access, сгруппированных по категориям.

Таблица 11.1

Назначение

Макрокоманда

Работа с данными в формах и отчетах

Отбор данных

ПрименитьФильтр (ApplyFilter)

Перемещение по данным

СледующаяЗапись (FindNext).

НайтиЗапись (FindRecord),

КЭлементуУправления

НаСтраницу (GoToPage),

НаЗапись (GoToRecord)

Обновление данных или экрана

Обновление (Requery)

ПоказатьВсеЗаписи (ShowAllRecords)

Выполнение

Выполнение команды

ВыполнитьКоманду (RunCommand)

Выполнение макроса, процедуры или запроса

ЗапускПрограммы (RunCode), ЗапускМакроса (RunМасго), ОткрытьЗапрос (OpenQuery), ЗапускЗапросаSQL (RunSQL)

Выполнение другого приложения

ЗапускПриложения (RunApp)

Прерывание выполнения

ОтменитьСобытие (CancelEvent),

ОстановитьВсеМакросы (StopAIIMacros),

ОстановитьМакрос (Stop Macro)

Выход из Microsoft Access

Выход (Quit)

Импорт/
экспорт

Передача объектов Microsoft Access в другие приложения

ВывестиВФормате (OutputTo),

ОтправитьОбъект (SendObiect)

Преобразование формата данных

ПреобразоватьБазуДанных (TransferDatabase), ПреобразоватьЭлектроннуюТаблицу (TransferSpreadsheet)

ПреобразоватьТекст (TransferText)

Работа с oбъeктaми

Копирование, переименование или сохранение объекта

КопироватьОбъект (CopyObject), Переименовать (Rename),

КопироватьФайлБазыДанных
(CopyDatabaseFile)

Удаление объекта

УдалитьОбъект (DeleteObject)

Изменение размеров или положения окна

Развернуть (Maximize),

Свернуть (Minimize),

СдвигРазмер (MoveSize),

Восстановить (Restore)

Открытие или закрытие объекта

ОткрытьФорму (OpenForm), ОткрытьМодуль (OpenModule), ОткрытьЗапрос (OpenQuery), ОткрытьОтчет (OpenReport), ОткрытьТаблицу (OpenTable),

ОткрытьФункцию (OpenFunction)

ОткрытьСтраницу (OpenDataAccessPage)

Открыть схему (OpenDiagram)

ОткрытьСохраненнуюПроцедуру (OpenStoreProcedure)

ОткрытьПредставление (OpenView)

Закрыть (Close)

Печать объекта

Печать (PrintOut)

Выделение объекта

ВыделитьОбъект (SelectObject)

Задание значения поля, элемента управления или свойства

ЗадатьЗначение (SetValue)

Обновление объекта

ОбновитьОбъект (RepaintObject)

Создание специальной или общей строки меню, специального или глобального контекстного меню

ДобавитьМеню (AddMenu)

Задание состояния пунктов меню в специальной или общей строке меню

ЗадатьКомандуМеню (SetMenultem)

Вывод информации на экран

ВыводНаЭкран (Echo),

ПесочныеЧасы (Hourglass),

Сообщение (MsgBox),

УстановитьСообщения (SetWarnings)

Генерация нажатий клавиш

КомандыКлавиатуры (SendKeys)

Вывод на экран или скрытие встроенной или специальной панели инструментов

ПанельИнструментов (ShowToolbar)

Подача звукового сигнала

Сигнал (Веер)

Более полную информацию по макрокомандам можно получить в разделе Справка Microsoft Access | Программирование в Microsoft Access | Макрокоманды .

Действия, которые могут быть выполнены с помощью макросов, очень разнообразны, поэтому для создания макросов необходимо знание макрокоманд. Знание макрокоманд будет полезно и при создании процедур на VBA, т. к. многие макрокоманды являются методами объекта DoCmd.

По месту хранения макросы разделяются на два вида:

простые (объект, состоящий из набора макрокоманд);

групповые (объект, состоящий из набора логически связанных макросов, каждый из которых имеет собственное имя и набор макрокоманд).

По способу выполнения макросы разделяются на два вида:

линейные (каждая макрокоманда в макросе выполняется последовательно одна за другой);

с условием (макрокоманды выполняются в зависимости от выполнения определенных условий).

2. Обзор событий

Событие – это любое действие, которое распознается объектом. События происходят в результате действий пользователя, выполнения инструкций VBA или генерируются системой. Примерами событий являются: открытие формы, переход в форме от одной записи к другой, закрытие отчета, щелчок по командной кнопке в форме и т. п.

Практически все программирование в MS Access сводится к написанию макросов или процедур, обрабатывающих события, т. е. программируется реакция объектов на происходящие события. События различных объектов MS Access представлены на рис.11.1 – 11.3.

События можно разделить на следующие категории, сгруппировав их по функциональному признаку (выполняемым операциям):

– открытие и закрытие форм и отчетов;

– изменение данных;

– смена фокуса ввода;

– события работы с клавиатурой;

– события работы с мышью;

– печать;

– отслеживание ошибок;

– истечение промежутка времени.

Рис.11.1. Вкладка События окна свойств формы.

Рис.11.2. Вкладка События окна свойств элемента управления Подчиненная форма/отчет.

Рис.11.3. Вкладка События окна свойств элементов управления. Кнопка (а) и Поле со списком (б).

3. Создание макросов

Создание макроса состоит из двух шагов:

1. В окне базы данных перейти на вкладку Макросы и щелкнуть по кнопке Создать .

2. В появившемся окне Конструктор макросов создать макрос.

Окно Конструктора макросов состоит из двух областей (рис.11.4):

– верхняя область предназначена для описания логической структуры макроса;

– нижняя область предназначена для описания аргументов макрокоманд.

В верхней области Конструктора макросов по умолчанию отображается два столбца Макрокоманда и Примечание . Отображение столбцов Имя макроса и Условие осуществляется с помощью соответствующих кнопок на панели инструментов Конструктор макросов .

Ячейки в столбце Макрокоманда используются для выбора из списка макрокоманды, включаемой в макрос.

Ячейки в столбце Примечание используются для описания действия выполняемого макрокомандой (могут быть незаполненными).

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

Ячейки в столбце Условие используются для задания последовательности выполнения макрокоманд.

Рис.11.4. Окно Конструктор макросов

Для быстрого переключения между верхней и нижней областью окна Конструктора макросов можно использовать клавишу < F 6> .

Существует еще один способ ввода макрокоманд.

В окне базы данных выбирается объект: форма, отчет, макрос, запрос или таблица и с помощью мыши перетаскивается в окно Конструктор макросов . В поле столбца Макрокоманда автоматически появится макрокоманда (например, ОткрытьФорму ) и автоматически заполнятся некоторые аргументы макрокоманды (имя объекта, режим, режим окна).

Для ввода значений аргументов макрокоманды используется два способа:

– выбор значения из списка допустимых значений;

– ввод значения вручную или с помощью диалогового окна Построитель выражений .

Пример макроса позволяющего открыть форму "Клиенты" в режиме формы, только для чтения и отобразить клиентов только из Испании, представлен на рис.11.5.

Рис.11.5. Окно Конструктор макросов с заполненными значениями аргументов

3.1. Задание условий выполнения макрокоманд

Для создания макросов нелинейной структуры необходимо отобразить столбец Условие и указать в нем условие выполнения макрокоманд.

Выполнение макроса начинается с первой макрокоманды и продолжается до тех пор, пока не встретится пустая строка (признак окончания макроса), имя другого макроса или макрокоманда ОстановитьМакрос . Макрокоманды, для которых определены условия, выполнятся только в том случае, если условие, записанное в строке макрокоманды, имеет значение Истина . Для распространения условия на последующие макрокоманды необходимо в столбце Условие указать троеточие ().

Пример создания макроса нелинейной структуры

В форме Поставщики имеется два поля Страна и Индекс . Необходимо до обновления записи (перед сохранением) проверить правильность введенного индекса для некоторых стран.

Если поле Страна имеет значение NULL, то сохранить запись, т. к. проверка индекса на принадлежность стране невозможна, иначе осуществить проверку значения в поле Индекс :

– если поле Страна имеет значение Франция , Италия или Испания , а в поле Индекс введено не 5 знаков, то не сохранять запись, если 5 – сохранить;

– если поле Страна имеет значение Австралия или Сингапур , а в поле Индекс введено не 4 знака, то не сохранять запись, если 4 – сохранить;

Алгоритм макроса в виде блок-схемы представлен на рис 11.6, а реализация макроса в окне Конструктор макросов , приведена на рис.11.7.

Данный макрос связан со свойством До обновления на вкладке События формы Поставщики .

Рис.11.6. Алгоритм работы макроса

Рис.11.7. Реализация макроса, имеющего нелинейную структуру

3.2. Создание группы макросов

Для автоматизации приложения требуется применение значительного числа макросов. Если создавать макросы для каждой отдельной операции, то в этом случае в базе данных накопятся сотни различных макросов.

Для сокращения количества макросов, как объектов базы данных, существует другой способ их организации – объединение нескольких макросов в группу. Объединение макросов в группу можно осуществлять по двум признакам:

– принадлежности к объекту автоматизации (для каждой формы и отчета);

– принадлежности к типу автоматизируемых операций.

Группа макросов хранится в одном объекте и, следовательно, имеет одно общее имя – имя объекта. Для запуска макроса, входящего в группу, используется полное имя: [Имя_группы].[Имя_макроса_в_группе].

Для создания группы макросов необходимо выполнить следующие действия:

1. Открыть Конструктор макросов .

2. Отобразить столбец Имя макроса.

3. В ячейке столбца Имя макроса ввести уникальное для группы имя макроса.

4. В ячейках столбца Макрокоманда , начиная со строки, в которой находится имя макроса, ввести все макрокоманды составляющие макрос и их аргументы.

5. Пропустить одну строку.

6. Повторить шаги 3 – 5 для каждого макроса.

Пример создания группы макросов представлен на рис.11.8.

Рис.11.8. Реализация группы макросов

4. Запуск макроса

Способов запуска макросов очень много.

Среди них есть способы, когда макрос запускается пользователем. Эти способы используются в основном при тестировании макросов.

После отладки макроса, для его запуска создается командная кнопка в форме, команда меню или кнопка на панели инструментов или макрос связывается с событием в форме или отчете. Макрос может быть запушен и из другого макроса, а также программно – из процедуры VBA.

Запуск макроса из Конструктора макросов.

Для запуска простого макроса или первого макроса из группы щелкнуть по кнопке Запуск на панели инструментов Конструктор макросов .

Для запуска любого макроса из группы выполнить команду Сервис | Макрос | Выполнить макрос … и в диалоговом окне Запуск макроса выбрать имя макроса.

Запуск макроса из окна базы данных.

Для запуска простого макроса или первого макроса из группы перейти на вкладку Макросы , выбрать макрос и щелкнуть по кнопке Запуск в окне БД.

Запуск любого макроса из группы см. выше.

1. Открыть форму или отчет в режиме Конструктор .

2. Выделить объект автоматизации (элемент управления, форму или отчет, раздел формы или отчета).

3. Открыть диалоговое окно Свойства объекта .

4. Выбрать событие на вкладке События , которому назначается макрос.

5. Выбрать из списка полное имя макроса.

Запуск макроса будет производиться каждый раз, когда будет происходить событие, для которого назначен макрос. Пример назначения макроса событию представлен на рис.11.9.

Рис.11.9. Назначение макроса событию

Макрос с именем Autoexec запускается автоматически при открытии базы данных. Для отмены действий, указанных в данном макросе, необходимо открывать базу данных при нажатой клавише > .

Макросом называют набор из одной или более команд, выполняющих определенные, часто используемые операции, например, открытие форм или печать отчетов. Макросы могут быть полезны для автоматизации часто выполняемых действий. Если записать эти действия в виде макроса, то они будут выполняться автоматически при запуске макроса. Например, при нажатии пользователем кнопки можно запустить макрос, который распечатает отчет или выведет на экран форму. Макрокоманда – основной компонент макроса, инструкция, которая самостоятельно или в комбинации с другими макрокомандами определяет выполняемые в макросе действия (иногда макрокоманды называют просто командами макроса). Серия макрокоманд, из которых состоит макрос, выполняется каждый раз при его запуске.

Для создания макроса в окне базы данных нужно выбрать вкладку Макросы и нажать на кнопку Создать . Появится окно конструктора макросов (рис. 3.37). Оно состоит из двух столбцов: Макрокоманда и Примечание. В столбце Макрокоманда перечисляются команды, подлежащие выполнению. Чтобы в ячейке столбца Макрокоманда задать нужную макрокоманду, ее следует выбрать из списка. Столбец Примечание , содержит комментарии к командам. При выполнении макроса он игнорируется, однако его заполнение делает текст макроса понятнее.

Рис. 3.37. Вид окна макроса.

Выполнение каждой макрокоманды зависит от ее аргументов (некоторые макрокоманды не имеют аргументов). Аргументы вводятся в специально отведенные для этого поля, расположенные в нижней части окна макроса. Аргументы можно вводить с помощью клавиатуры, однако, по возможности, лучше выбирать их из списка, чтобы избежать некорректных значений. Следует помнить, что действие команды макроса, в которой не указан целевой объект, распространяется на активный объект.

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

Для этого следует расположить окно базы данных и окно макроса рядом на экране с помощью команды Сверху вниз или Слева направо из меню Окно . Затем выбрать в окне базы данных соответствующую вкладку, выбрать объект и переместить его значок с помощью мыши в ячейку макрокоманды. Например, для того чтобы создать макрос, открывающий форму, следует переместить с помощью мыши значок формы из окна базы данных в ячейку макрокоманды. При переносе значка макроса в ячейку макрокоманды вводится макрокоманда, запускающая этот макрос, а при переносе значков других объектов (таблиц, запросов, форм, отчетов или модулей) в макрос добавляется макрокоманда, открывающая этот объект.

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

Чтобы запустить макрос из окна Конструктора макроса , нужно нажать кнопку . Для запуска макроса из окна базы данных, следует выбрать вкладку Макросы , активизировать имя макроса и нажать кнопку Запуск в окне базы данных (можно также выполнить двойной щелчок на имени запускаемого макроса).

Поделиться