Павел Дубнов - Access 2002: Самоучитель
Преобразование формы в отчет и страницу доступа к данным с помощью диалогового окна Сохранение
В завершение главы, посвященной созданию форм и работе с ними, покажем еще одну возможность использования формы – преобразование и сохранение в виде отчета или страницы доступа к данным. Собственно отчеты и страницы будут рассмотрены в следующих главах, и этот раздел предназначен для того, чтобы лишний раз продемонстрировать многообразие использования форм в Access 2002.
Откройте окно базы данных и в нем раздел Формы (рис. 4.46). Затем выполните одно из следующих действий:
Рис. 4.46
• откройте меню Файл в строке меню окна базы данных;
• щелкните правой кнопкой мыши по клавише Формы;
• щелкните правой кнопкой мыши по выделенному имени формы.
Во всех случаях результатом будет появление контекстного меню, в котором надо выбрать позицию Сохранить как, после чего появится диалоговое окно Сохранение (рис. 4.47), предлагающее сохранить копию формы (в данном случае Фирмы) в качестве формы или страницы доступа к данным.
Рис. 4.47Дальнейшие действия зависят от вашего выбора. На рис. 4.48 представлена сохраняемая форма в виде отчета (он выполнен в ленточном виде), на рис. 4.49 показана та же форма в виде страницы доступа к данным.
Рис. 4.48Рис. 4.49
При этом надо ясно понимать, что содержание любого из этих документов полностью и однозначно определяется исходной формой и о каком-либо разнообразии здесь не может быть и речи. В этом смысле полученные отчет и страница аналогичны тем, которые могут быть созданы (см. главы 5 и 6) средствами автоотчета и автостраницы.
Резюме
1. В отличие от таблиц, формы – это элементы, как правило, получаемые на «на выходе» базы данных. Обычно они используются для получения ответов на запросы пользователя. Но формы в Access являются очень универсальным объектом и могут применяться также и для записи данных в таблицы и/или изменения этих данных при их вводе либо корректировке.
2. Для получения стандартных, типовых форм можно использовать автоформы – это очень просто, однако структура такой формы будет жестко привязана к одной или нескольким исходным таблицам. Несколько сложнее создание формы с помощью мастера форм или конструктора, но в этом случае ее структура будет значительно более гибкой и разнообразной.
3. Содержание и структура формы изменяются в соответствии с запросами, которые формирует пользователь. Возможности форм значительно расширяются за счет использования гиперссылок (в частности, включения географических карт), рисунков и др.
4. Форму можно легко сохранить в виде отчета или страницы доступа к данным. При этом содержание любого из этих документов полностью и однозначно определяется исходной формой, и о каком-либо разнообразии здесь не может быть и речи.
5. Для создания начальной формы БД удобно использовать конструктор форм. Начальная форма в базе данных играет роль одновременно титульного листа и оглавления в книге. Открыв эту форму и, следовательно, саму базу данных, пользователь может затем выйти из начальной формы в любую необходимую точку БД.
Глава 5 Создание отчетов новой базы данных
В Access 2002 отчет создается почти так же, как форма. Разница между этими двумя объектами базы данных состоит не в технологии их построения, а в их целевом назначении. Если с формой пользователь будет работать на экране, то отчет предназначен для печати и представляет ценность как материальная копия документа, полученного из базы данных.
Предусмотрены следующие стандартные способы формирования отчета (как видите, они аналогичны способам построения форм):
• с помощью автоотчета;
• с помощью мастера;
• с помощью конструктора;
• с помощью запросов.
Именно по указанной выше причине здесь рассматривается только формирование отчета с помощью автоотчета, а также включение в отчет подчиненной формы. Работа с запросами будет проанализирована в главе 11.
Однако в работе с отчетами все-таки есть свои нюансы. В отличие от форм, с отчетами возможны следующие операции:
• создание и использование статических копий отчета;
• группировка данных в отчете.
Использование функции автоотчета
Отчет, созданный таким образом, будет отображать все поля и записи базовой таблицы или запроса.
В разделе Объекты окна базы данных щелкните сначала по кнопке
а затем по кнопке Новый. На экране появится окно Новый отчет – рис. 5.1.
Рис. 5.1
Здесь надо выбрать следующие параметры:
• способ построения отчета, в данном случае автоотчет, который можно оформить в одном из двух вариантов:
– в виде столбца;
– в ленточном виде;
• таблицу или запрос, на основе которых будет создан отчет. В нашем случае выбирается таблица Приборы, представленные на рынке, так как она содержит максимум информации.
Задав эти параметры и щелкнув по кнопке ОК, вы получите заказанный отчет в виде столбца, как показано на рис. 5.2. На рисунке представлена первая страница отчета. В действительности, если вы захотите его распечатать, он будет расположен в соответствии с рис. 5.3, на котором показано несколько начальных страниц отчета.
Рис. 5.2Рис. 5.3
Включение подчиненного отчета
Рассмотрим эту возможность на примере хорошо знакомой вам пары таблиц Страны (основная) и Фирмы (подчиненная). Создадим отчет на основе первой таблицы, а затем включим в него подчиненный отчет на базе второй.
Первую часть задачи вы решите с помощью автоотчета, как было рассмотрено выше. Результат вашей работы показан на рис. 5.4. Сохраните полученный отчет под именем Страны.
Рис. 5.4
Теперь надо вставить в него подотчет Фирмы так, чтобы в итоговом документе фирмы были сгруппированы по странам, в которых находятся.
Откройте только что созданный отчет Страны в режиме конструктора. Убедитесь, что кнопка Мастера отчетов активизирована. Затем на панели управления конструктора щелкните по кнопке Подчиненная форма/отчет. Теперь на поле конструктора в области данных выберите точку, к которой следует «привязать» подотчет. Если в области данных не хватает места, перетащите нижнюю рамку области данных вниз. Когда вы определите нужную точку, на экране возникнет окно конструктора отчетов (см. рис. 5.5), который сообщит вам, что для создания подчиненного отчета вы можете использовать существующую форму или создать свою. Также конструктор поинтересуется, какие данные вы хотите использовать для подчиненного отчета.
Рис. 5.5Форма для подчиненного отчета у вас уже есть – Фирмы, поэтому используйте ее. Если вы намерены создать собственную форму, выберите другую позицию – Использовать существующие таблицы и запросы. Теперь щелкните по кнопке Next, чтобы перейти в следующее окно конструктора (см. рис. 5.6). Здесь вы должны решить, хотите ли вы самостоятельно задать поля, которые будут связывать основной и подчиненный отчеты, или нужно выбрать эти поля из приведенного ниже списка.
Рис. 5.6В поле, где показан этот список (он включает две позиции), выберите опцию Показать Фирмы для каждой записи таблицы Страны, используя Код.
Если теперь вы щелкнете по кнопке Готово, то вернетесь в область данных конструктора, но с дополнением в виде подчиненной формы. Чтобы взглянуть на окончательный вариант отчета, вам нужно щелкнуть по кнопке Просмотр на панели инструментов окна базы данных. Полученный отчет, который имеет иерархическую структуру, показан на рис. 5.7.
Рис. 5.7Группировка записей
Приведенный выше отчет с его структурой является также одной из форм организации записей. Однако группировать данные можно и более привычным способом, то есть с помощью мастера отчетов. Его запуск и начало работы осуществляются почти так же, как аналогичные действия при использовании мастеров таблиц и форм. Разница состоит в том, что для запуска мастера отчетов в разделе Объекты окна базы данных надо щелкнуть сначала по кнопке Отчеты, а затем по кнопке Новый. Но в окне Новая форма, которое появится на экране (см. рис. 4.1), надо активизировать опцию Мастер отчетов. В нижнем поле того же окна вы можете выбрать таблицу; она станет первой из тех таблиц, на которых будет основан создаваемый отчет. Правда, мы все-таки советуем сделать это в следующем окне, так как в нем можно выбрать поля более чем из одной таблицы. Наконец, и при выборе полей, включаемых в формируемый документ (см. рис. 4.4 – 4.5), начальные этапы работы те же, только везде вместо формы речь идет об отчете. Действительно важные различия начинаются с того момента, когда надо указать признак, по которому будет сформирован отчет.