Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курс БД.docx
Скачиваний:
4
Добавлен:
01.05.2025
Размер:
1.39 Mб
Скачать

Макросы

Макроязык

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

Например, открытие форм, отчетов, запросов, установка фильтров на записи и т.д.

Последовательность макрокоманд называется макросом.

Макросам, как типу обьектов, отведена одна из вкладок окна базы данных.

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

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

Редактор макросов

Окно редактора макросов имеет вид:

Каждой макрокоманде в редакторе отводится одна строка. Строка состоит из 4-х полей.

Обязательным является только поле Макрокоманда.

Поле Имя Макроса

В поле Имя макроса можно задать имя, которое объединит последующие строки макрокоманд в единое целое – макрос. В одном макросе можно объединить целую группу макросов. Если в макрос вложен только один макрос, столбец Имя макроса не используется. И вложенный макрос вызывается по имени основного макроса. Если макрос объединяет группу макросов, используется столбец Имя макроса и в нем каждому вложенному макросу сопоставлено имя. Вызов вложенного макроса производится по формуле Имя основного макроса. Имя вложенного макроса. Например: Макрос1.Печать.

Поле Условие

В поле Условие можно задать выражение, при условии истинности которого будет выполнена макрокоманда. Например, условие выбора первого элемента из группы переключателей [КнопкиАлфавита]=1.

Поле Макрокоманда

В этом поле производится выбор макрокоманды из списка, который открывается в поле по стрелке справа. Например, можно выбрать макрокоманду ОткрытьФорму.

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

Поле Примечания

Служит для записи примечаний.

Вызов макроса на выполнение

Запустить макрос на выполнение можно, щелкнув по его имени в окне базы данных или по кнопке Открыть. Но часто макросы связывают с некоторым объектом в форме и назначают на какое-то событие объекта. Например, с объектом Кнопка в форме в связи с событием Щелчок мыши.

Связывание макроса с объектом

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

Действия.

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

  2. Установить курсор вне области серых клеток и, щелкнув правой кнопкой мыши, открыть окно свойств формы.

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

  4. Если макрос уже создан, нужно его назначить на данное событие, выбрав по стрелке из списка.

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

  6. В окне Построителя выбрать Макросы и Ok.

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

  8. В редакторе макросов написать макрос, состоящий из одной макрокоманды Сообщение . В окне параметров макрокоманды можно задать:

Сообщение

Будьте внимательны при вводе данных!

Сигнал

Да

Тип

Предупреждающее!

Заголовок

Совет

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

Это очень простой пример макроса.

Рассмотрим более интересный случай: связывание макроса с группой переключателей в ленточной форме.

Пусть требуется в форме для просмотра списков читателей создать группу переключателей, соответствующих буквам алфавита, при помощи которых можно было бы выводить на экран группы читателей по начальной букве Фамилии. Например, список всех читателей, фамилия которых начинается на букву «и».

Этап 1. В ленточной форме, созданной на базе таблицы Читатели, построим элемент управления Группа переключателей.

Действия:

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

  2. Щелкнуть мышкой по заголовку области формы Примечания.

  3. Выбрать элемент управления Группа переключателей и создать группу переключателей по числу букв русского алфавита + 1. При вводе очередного переключателя в группе нужно задать его подпись (очередную букву алфавита), а мастер сопоставит ему порядковый номер. Таким образом, первый элемент в группе будет иметь номер 1 и подпись «А» , предпоследний элемент номер 29 и подпись «Я», а последний элемент - подпись Все, и номер 29 (для вывода всех записей).

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

Этап 2. Создание макроса.

Действия:

  1. Переключиться во вкладку Макросы и щелкнуть по кнопке Создать.

  2. Первую строку макроса используем в качестве комментария. Поэтому в столбце Примечания пишем: Макрос для формы Список Читателей.

  3. Создадим вложенный макрос Кнопки. Это имя запишем в столбце Имя макроса.

  4. В этой же строке в столбце Условие запишем условие выбора первого переключателя в группе ОтборЧитателей (условие вывода на экран всех читателей, фамилия которых начинается на «А»): [Отбор Читателей]=1.

  5. В столбце Макрокоманда выбираем по стрелке макрокоманду ПрименитьФильтр.

  6. В нижней части окна задаем параметры макрокоманды:

Имя фильтра

Условие отбора

[ФИО] Like [A]*

  1. В столбце примечания указываем символ «А».

  2. Аналогично создаем макрокоманды для переключателей с номерами 2-28.

  3. В следующей строке создадим макрокоманду для переключателя с номером 29. В столбце Условие запишем условие: [Отбор Читателей]=29. В столбце Макрокоманда зададим Показать ВсеЗаписи

Этап 3 Связывание макроса с элементом управления Группа переключателей.

  1. Откроем форму Список читателей в режиме конструктор.

  2. Выберем элемент управления Группа переключателей Отбор Читателей.

  3. По правой кнопке мыши в контекстном меню выберем Свойства.

  4. установим курсор на свойство После обновления и по стрелке назначим макрос Читатели.Кнопки.

  5. Сохраним форму.

Теперь мы можем, используя элемент управления Группа переключателей, просматривать читателей, фамилии которых начинаются на какую-то букву.

Отчеты

Отчеты являются важной частью приложений, созданных в среде СУБД.

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

Как и в форме, в отчете выводятся данные из таблиц и запросов базы данных, но в отличие от форм, отчеты трудно просматривать на экране. В предлагаемом СУБД формате листа А4 практически невозможно рассмотреть содержание отчета, а при увеличении остается видна только часть отчета. Поэтому отчеты предполагается выводить только на печать. Но перед печатью можно посмотреть отчет в режиме предварительного просмотра или в режиме Конструктор, чтобы внести правки.

Типы отчетов

В среде MS Access можно создать следующие виды отчетов:

  • отчет в одну колонку,

  • отчет ленточный,

  • отчет-диаграмма,

  • отчет групповой/итоговый,

  • почтовые наклейки.

Отчет в одну колонку

По виду этот тип отчета напоминает одноколонную форму для ввода данных.

Только в отчете данные выводятся в виде списка поле за полем запись за записью. Этот вид отчета не особенно популярен и редко используется.

Отчет ленточный

Данные выводятся так же, как и в ленточной форме. Для каждого поля отводится столбец.

Отчет-диаграмма

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

Отчет групповой/итоговый

При создании отчета этого вида записи объединяются в группы, и для каждой группы рассчитываются итоговые значения, которые и выводятся в отчете.

Почтовые наклейки

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

Создание отчетов

Все перечисленные типы отчетов можно создавать при помощи специальной программы-мастера, в диалоге с которой пользователь строит макет отчета.

Вначале пользователь должен выбрать запрос или таблицу, данные которых нужно отобразить в отчете.

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

Действия:

Воспользуемся запросом, который мы построили ранее и назвали Для вложенной формы. Запрос включает поля из таблиц Жанры, Книги, Обмен, Читатели и имеет структуру:

Жанры.Жанр, Книги.Автор, Книги.Название, Книги.Год издания, Читатели.ФИО, Обмен.Дата выдачи, Обмен.Дата возврата.

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

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

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

данных, затем атрибуты из таблицы Книги – это второй уровень группировки и затем атрибуты из таблиц Читатели и Обмен.

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

Печать отчета

Отчет можно вывести на печать. Для этого нужно в режиме предварительного просмотра (итоговая фаза работы Мастера отчета или режим Открыть в окне базы данных) выбрать меню Файл/Печать.

Отправка отчета по электронной почте

Отчета можно отправить по электронной почте вложенным файлом в письме.

Для этого нужно в режиме предварительного просмотра выбрать меню Файл/Отправить/Сообщение как вложение, выбрать тип файла (обычно Rich Text Format) и указать адрес.

Аналогично можно создавать отчеты другого типа. Например, почтовые этикетки или отчет-диаграмму.

Создание отчета-диаграммы

Например, нам требуется создать отчет-диаграмму, на котором должно быть отображено соотношение книг в библиотеке по жанрам.

Действия:

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

  2. На вкладке Отчеты щелкнем по кнопке Создать, выберем Мастер диаграмм и укажем источник данных – Итоговый запрос 1.

  3. В Окне Создание диаграмм выберем оба поля запроса для отображения данных.

  4. Выберем тип диаграммы Обьемная круговая.

  5. Определим заголовок диаграммы Соотношение книг в библиотеке по жанрам.

  6. Сохраним Отчет с именем Соотношение книг в библиотеке по жанрам.

Форматирование диаграммы

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

Редактирование легенды диаграммы

При помощи мыши можно изменить размер, форму и местоположение легенды на диаграмме. Можно перенести легенду вниз, вправо, влево или вверх.

Редактирование рядов данных

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

Отчет Почтовые этикетки

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

Отчет может использоваться для создания почтовых этикеток.

Запрос для этого типа должен содержать данные, помещаемые на конверт для почтового отправления. Например, такие поля таблиц как ФИО, Индекс, Город, Улица, Номер дома, Номер квартиры. Если в базе данных предполагается создавать отчеты в виде почтовых этикеток, то лучше заранее подумать о том структуры таблицы, хранящей данные адреса, должна быть соответствующей. То есть, данные адреса лучше расположить, используя не одно, а несколько полей таблицы. Отдельно поле Город, отдельно поле Индекс и т.д. Отчет типа Почтовые этикетки в нашей базе данных хранится под именем Наклейки_Читатель.