В результате при работе с формой щелчок по кнопке «Преподаватели» запускает макрос «Преподаватель», а щелчок по кнопке «Факультеты» запускает макрос «Факультет».
Условные макрокоманды
Иногда, создавая макросы, необходимо выполнять некоторые действия (макрокоманды) только при определенных условиях. Например, необходимо обновлять записи лишь при условии, что новые данные соответствуют каким-то требованиям. Условия добавляются в столбце Условия в окне макроса. Для вывода столбца Условие следует в окне макроса в меню Вид выбрать команду Условия или нажать кнопку Условия на панели инструментов макроса.
Если условие истинно, то выполняются макрокоманда, записанная в этой строке и в каждой следующей строке, содержащей в столбце Условие троеточие (…). Если условие ложно, то эти действия игнорируются и выполняется следующая за ними макрокоманда. Так, в примере (рис. 22) при истинном условии будут выполняться макрокоманды: «ОткрытьТаблицу», «ПрименитьФильтр», «Сообщение», а затем выполнится команда «Закрыть». При ложном условии сразу выполняется команда «Закрыть».
Рис. 22. Создание макроса с условием
Пример
Создать на форме кнопку, при нажатии на которую на экране должна появиться таблица «Студенты», в которой отображаются только записи о студентах, поступивших в 1998 году.
Для этого необходимо создать макрос, привязанный к созданной кнопке (см. рис. 22).
56
Задание 5. Создание макросов
Создать форму, поместить на нее четыре кнопки, к которым привязать четыре макроса. Первый макрос должен открывать какую-либо таблицу вашей базы данных и переходить в ней на последнюю запись. Второй макрос должен открывать запрос и выдавать сообщение, в котором формулируется условие запроса. Третий макрос должен открывать какуюлибо форму вашей базы данных, а четвертый – закрывать созданную форму с кнопками.
Отчеты
Конечным продуктом большинства баз данных является отчет. Отчет – объект, предназначенный для создания документа, который
впоследствии может быть распечатан или включен в документ другого приложения.
Типы отчетов
1. Ленточные.
Для каждого поля таблицы выделяется отдельный столбец, а значения всех полей каждой записи выводятся по строкам. Ленточные отчеты похожи на таблицы (рис. 23).
№ зачетки |
Фамилия |
Имя |
Отчество |
Город |
Адрес |
см 99-01 |
Иванов |
Иван |
Иванович |
Омск |
Ленина 5-7 |
см 99-12 |
Петров |
Семен |
Петрович |
Томск |
Мира 45-79 |
см 00-13 |
Сидоров |
Игорь |
Иванович |
Киев |
Мира 56-98 |
Рис. 23. Пример ленточного отчета
2. Группы/итоги (табличные).
В таком отчете данные отображаются построчно, при чем данные одного поля занимают отдельный столбец. Записи объединяют в группы, каждая группа может иметь заголовок и примечание, в котором обычно выводят итоговые значения по группе. В конце отчета выводятся итоговые значения по всем записям (рис. 24).
3. Колоночные (отчет в одну колонку).
Автоматически создается при нажатии кнопки Автоотчет. В этих отчетах все поля отображаются в одном столбце и выравниваются по левому краю. Колоночный отчет очень похож на автоформу в столбец, но он используется только для отображения или печати данных, а не для их
57
ввода и редактирования. Колоночные отчеты используются редко, т.к. занимают много места (рис. 25).
Факультет |
ТТМ |
|
|
|
|
21 см |
|
|
|
|
|
|
№ зачетки |
Фамилия |
Имя |
Отчество |
Дата рождения |
|
см 99-01 |
Иванов |
Иван |
Иванович |
11.09.84 |
|
см 99-12 |
Петров |
Семен |
Петрович |
23.06.84 |
|
см 00-13 |
Сидоров |
Игорь |
Иванович |
30.11.84 |
41 см |
|
|
Итого: |
3 |
|
|
|
|
|
||
|
№ зачетки |
Фамилия |
Имя |
Отчество |
Дата рождения |
|
см 98-12 |
Петров |
Семен |
Ильич |
18.04.82 |
|
см 98-01 |
Иванов |
Иван |
Николаевич |
14.09.82 |
|
|
|
|
Итого: |
2 |
|
|
|
Итого по факультету: |
5 |
|
Рис. 24. Пример итогового отчета
Студенты
№ зачетки |
см 99-01 |
|
|
||||
Фамилия |
|
|
|
|
|
|
|
Иванов |
|
|
|||||
Имя |
|
|
|
|
|
|
|
Иван |
|
||||||
Отчество |
|
|
|
|
|
|
|
Петрович |
|
|
|||||
Дата рождения |
|
|
|
|
|
|
|
11.09.84 |
|
|
|
|
|
||
|
|
|
|
|
|||
№ зачетки |
|
|
|
|
|
|
|
см 99-23 |
|
|
|||||
Фамилия |
|
|
|
|
|||
Петров |
|
|
|
||||
Имя |
|
|
|
||||
Семен |
|
|
|
||||
Отчество |
|
|
|||||
Петрович |
|
|
|||||
Дата рождения |
|
|
|
|
|
|
|
23.07.84 |
|
|
|
|
|
||
Рис. 25. Пример колоночного отчета
4. Многоколоночные.
Данные выводятся в несколько колонок. То, что не помещается в первый столбец, переносится во второй и т. д. (как текст в газете).
5. Почтовые наклейки.
Эти отчеты используются для печати почтовых наклеек. В Access есть мастер отчетов, предназначенный специально для создания почтовых наклеек в самых разнообразных форматах.
58
Пример
Иванов Иван |
Петров Сергей |
… |
Пр. Мира, 45-65 |
Ленина, 11-66 |
|
Омск 644045 |
Омск 644025 |
|
Россия |
Россия |
|
… |
… |
… |
6.Несвязанные отчеты.
Вних создаются подчиненные отчеты, основанные на несвязанных источниках данных, например, таблицах или запросах.
Разница между формами и отчетами
В формах и отчетах используется много одинаковых типов элементов управления, к тому же способы их разработки очень похожи. Поскольку в Access можно печатать как формы, так и отчеты, иногда трудно определиться, что больше подходит для конкретного случая.
1.Вообще говоря, формы предназначены для интерактивного использования, в то время как отчеты применяются для отображения или печати отдельных или итоговых значений для групп записей.
2.Ввод данных и их редактирование выполняются только в форме.
3.В отчетах записи можно отображать или печатать в группах, а формы этого делать не позволяют.
4.Отчеты не обеспечивают просмотра в режиме таблицы. Возможен только предварительный просмотр перед печатью и просмотр макета отчета в режиме конструктора.
5.В отчете нельзя изменить значение исходных данных с помощью элементов управления на панели инструментов, как можно было делать с формами.
6.В многоколоночных отчетах количество колонок, их ширина и промежуток между ними определяются значениями, заданными в диалоговом окне «Параметры страницы», а не элементами управления или свойствами, заданными в режиме конструктора.
Автоматическое создание отчета
1.В окне базы данных на соответствующей вкладке выделить имя таблицы (или имя запроса), для которой нужно создать отчет.
2.На панели инструментов нажать стрелку справа от кнопки Новый объект.
3.В раскрывшемся списке выбрать команду Автоотчет.
59
Создание итогового отчета с помощью мастера отчетов
Аналогично мастеру форм мастер отчетов позволяет создавать отчеты, содержащие данные из нескольких таблиц, не создавая перед этим запрос.
Пример
Создать отчет, в котором отображаются данные о студентах, сгруппированные по факультетам и группам.
1.В окне базы данных перейти на вкладку Отчеты и нажать кнопку Создать. На экране появится диалоговое окно «Новый отчет».
2.В раскрывающемся списке диалогового окна «Новый отчет» выделить нужную таблицу.
3.В списке в правом верхнем углу диалогового окна выделить строку Мастер отчетов и нажать кнопку ОК. На экране появится диалоговое окно «Создание отчетов».
4.Перенести поля таблицы из списка Доступные поля в список Выбранные поля с помощью кнопки “>” или двойным щелчком мыши.
Примечание. Поля записываются в список Выбранные поля в той последовательности, в какой вы их выбирали из списка Доступные поля. Для изменения порядка полей используйте кнопку “<”.
5.Если в отчете должны присутствовать поля из другой таблицы, то нужно выбрать эту таблицу из раскрывающегося списка окна «Создание отчетов» и выбрать нужные поля так же, как в п. 4.
6.Нажать кнопку Далее.
7.Выбрать тип представления данных в отчете (способ группировки данных), указав таблицу, по которой будет осуществляться группировка (рис. 26).
Примечание. Если вы затрудняетесь с выбором способа группировки,
нажмите кнопку Вывести дополнительные сведения в левой части окна мастера, а затем кнопку Показать примеры.
8.Нажать кнопку Далее.
9.Выделить в списке Добавить уровни группировки? поле, по которому необходимо группировать записи, и нажать кнопку “>” (рис. 27).
10.Если необходимо выбрать свой способ группировки, то нажмите кнопку Группировка. Появится диалоговое окно «Интервалы группировки». Задайте интервалы группировки полей (рис. 28) и нажмите кнопку ОК.
11.Нажать кнопку Далее.
12.Выбрать в первом раскрывающемся списке окна мастера поле, по которому нужно сортировать записи, и указать порядок сортировки (по возрастанию или убыванию).
60