
905
.pdf
Итого:
Рис. 18. Создание формы
…
Рис. 19. Кнопочная форма
Макросы
Макросом называют набор из одной или более макрокоманд, выполняющих определенные операции, например, открытие формы или таблицы, печать отчетов. Макросы могут быть полезны для автоматизации часто выполняемых задач. Например, при нажатии пользователем кнопки можно запустить макрос, который распечатает отчет.
51
Макрос может быть как собственно макросом, состоящим из последовательности макрокоманд, так и группой макросов. В некоторых случаях для решения, должна ли в запущенном макросе выполняться определенная макрокоманда, может применяться условное выражение.
В Access макрос – это определенная последовательность операций. Эти операции хранятся в окне, напоминающем таблицу, в таком порядке, в каком их необходимо выполнять. При запуске макроса Access выполняет эти действия. Например, можно каждый день открывать одни и те же три таблицы и выдавать два отчета. Вместо того, чтобы каждый раз самому выполнять эту последовательность действий, можно создать макрос, который выполнит все эти действия за «один прием».
Таким образом, макрос может уменьшить количество часто повторяющихся операций, автоматизировав их выполнение.
Одной из полезных особенностей макросов является возможность их привязки к командным кнопкам, которые помещаются в формы. Пользователь может нажимать на эти кнопки для выполнения каких-то действий, даже не зная всех операций, выполняемых макросом.
Используя макросы, можно создавать завершенные приложения с пользовательским меню и диалоговыми окнами.
Создание макроса
1.В окне базы данных выбрать вкладку Макросы и нажать кнопку
Создать.
2.В окне макроса ввести макрокоманды и определить их аргументы.
3.Чтобы сохранить макрос, нажать кнопку Сохранить на панели инструментов.
4.Чтобы запустить макрос, нажать кнопку Запуск на панели
инструментов.
После того, как вы выполните пункт 1, на экране появится диалоговое окно «Макрос» (рис. 20).
Окно макроса делится на две части: верхнюю и нижнюю. В верхней части окна макроса содержится список действий, которые необходимо выполнить (макрокоманды) и необязательные комментарии (примечания), описывающие эти действия. В нижней части окна макроса содержатся аргументы макрокоманд, справа внизу отображается пояснительный текст.
Для ввода макрокоманды щелкните в соответствующей строке столбца Макрокоманда и в раскрывающемся списке выберите нужную макрокоманду. После выбора макрокоманды в нижней части окна макроса появляются аргументы этой макрокоманды. Для перехода от одной части окна макроса к другой используйте мышь или кнопку [F6].
52

Пример
Рассмотрим пример создания макроса, который должен выполнять следующие действия:
выводить сообщение с приветствием;открывать форму «Преподаватель»;переходить в этой форме на третью запись;подавать сигнал.
Для этого нужно ввести в окне макроса следующие макрокоманды и определить их аргументы в нижней части окна (табл. 4). Для ввода макрокоманды необходимо установить курсор в соответствующей строке столбца Макрокоманда и выбрать нужную макрокоманду из раскрывающегося списка (кнопка ).
|
Рис. 20. Окно макроса |
|
Таблица 4 |
|
Пример макроса |
|
|
Макрокоманда |
Аргументы |
Сообщение |
Сообщение: "Привет!" |
|
Сигнал: Да |
|
Тип: Информационное |
ОткрытьФорму |
Имя формы: Преподаватель |
|
Режим: Форма |
|
Режим окна: Обычное |
НаЗапись |
Тип объекта: Форма |
|
Имя объекта: Преподаватель |
|
Запись: Конкретная |
|
Смещение: 3 |
Сигнал |
– |
|
|
53
Создание макроса, привязанного к кнопке на форме
1.Создать форму, поместить на нее элемент управления «Кнопка».
2.Щелкнуть правой кнопкой мыши на кнопке и выбрать команду
Свойства.
3.В окне свойств перейти на вкладку События и установить курсор в строке свойства «Нажатие кнопки».
4.Нажать на появившуюся кнопку с многоточием, выбрать команду Макросы и нажать кнопку ОК.
5.В появившемся окне макроса ввести соответствующие макрокоманды и определить их аргументы.
6.Сохранить макрос и закрыть окно макроса.
7.Перейти в режим формы и проверить работу кнопки и привязанного к ней макроса.
Примечание. Если макрос уже создан, то чтобы привязать его к кнопке на форме, нужно в п. 4. нажать на кнопку со стрелкой и в раскрывающемся списке выбрать имя нужного макроса.
Последовательность макрокоманд, группа макросов
При наличии большого числа макросов объединение родственных макросов в группы может упростить управление базой данных. Каждому макросу в группе присваивается имя, которое заносится в столбец Имя макроса в окне Макрос. Когда вы сохраните группу макросов и назначите ей имя, оно появится в списке макросов в окне базы данных. Чтобы просмотреть имена макросов, в меню Вид выберите команду Имена макросов или нажмите кнопку Имя макроса на панели инструментов макроса.
Имя в столбце Имя макроса определяет каждый макрос. При запуске макроса в группе макросов выполняется макрокоманда в столбце Макрокоманда, а также все следующие макрокоманды, в которых столбец
Имя макроса пуст (рис. 21).
Создание группы макросов
1.В окне базы данных выберите вкладку Макросы.
2.Нажмите кнопку Создать.
3.Нажмите кнопку Имена макросов на панели инструментов, если она еще не нажата.
4.Введите в ячейку столбца Имя макроса имя первого макроса, входящего в группу макросов.
5.Введите макрокоманды, выполняемые в первом макросе.
54

6.Повторите шаги 4 и 5 для всех остальных макросов, входящих в группу.
Примечания:
Имя, указанное при сохранении группы макросов, будет являться именем группы. Имя сохраненной группы макросов выводится в списке макросов в окне базы данных. Для ссылок на макросы, входящие в группу макросов, используется следующий синтаксис:
ИмяГруппыМакросов.ИмяМакроса
Если вы запустите группу макросов, то выполнится только один первый макрос, входящий в группу. Поэтому группы макросов создают для форм, в которые включают несколько командных кнопок, к каждой из которых привязывают определенный макрос из группы, задав соответствующие установки в окне свойств.
Рис. 21. Группа макросов
Пример
Создали группу макросов, которую назвали «Макрос-группа». Группа макросов включает в себя два макроса: «Преподаватель» и «Факультет» (см. рис. 21). Создали форму, в которой разместили две командные кнопки: «Преподаватели» и «Факультеты».
В окне свойств (кнопка Свойства на панели инструментов) на вкладке События для кнопки «Преподаватели» свойство Нажатие кнопки изменили следующим образом: в раскрывающемся списке выбрали команду Макрос-группа.Преподаватель. Для кнопки «Факультеты» аналогично выбрали команду Макрос-группа.Факультет.
55

В результате при работе с формой щелчок по кнопке «Преподаватели» запускает макрос «Преподаватель», а щелчок по кнопке «Факультеты» запускает макрос «Факультет».
Условные макрокоманды
Иногда, создавая макросы, необходимо выполнять некоторые действия (макрокоманды) только при определенных условиях. Например, необходимо обновлять записи лишь при условии, что новые данные соответствуют каким-то требованиям. Условия добавляются в столбце Условия в окне макроса. Для вывода столбца Условие следует в окне макроса в меню Вид выбрать команду Условия или нажать кнопку Условия на панели инструментов макроса.
Если условие истинно, то выполняются макрокоманда, записанная в этой строке и в каждой следующей строке, содержащей в столбце Условие троеточие (…). Если условие ложно, то эти действия игнорируются и выполняется следующая за ними макрокоманда. Так, в примере (рис. 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