Создание отчета на основе запроса



ЛАБОРАТОРНАЯ РАБОТА № 7

по курсу “Компьютерные информационные технологии”

ОТЧЕТЫ В ACCESS. МАКРОСЫ В ACCESS

Способы создания отчетов. Структура отчета

Отчеты предназначены для выборки информации из базы данных и ее представления в желаемой форме.

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

Имеются три способа создания отчетов:

· автоматический (автоотчет) – отчет строится полностью автоматически и включает все поля выбранной таблицы (или отчета);

· с помощью Мастера отчетов – в процессе построения отчета пользователю предлагаются подсказки и возможности выбора;

· с помощью Конструктора – отчет строится пользователем самостоятельно.

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

Имеются следующие основные виды отчетов:

· по способу размещения данных:

- в столбец – все данные выводятся в один столбец;

- ленточные – каждому полю базы данных соответствует столбец отчета. В большинстве случаев применяются ленточные отчеты;

· по структуре:

- простые – в отчет выводятся все данные подряд (возможно, с упорядочением по одному или нескольким полям);

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

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

Кроме того, имеются специальные виды отчетов: почтовые наклейки, диаграммы.

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

В структуру отчета входят следующие основные элементы (области отчета):

· заголовок отчета – располагается в начале отчета, обычно содержит название отчета;

· верхний и нижний колонтитул – данные, размещаемые в начале и конце каждой страницы отчета (например, номера страниц);

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

· примечание отчета – данные, размещаемые в конце отчета (например, итоги, подписи, дата и т.д.);

· область данных – основная часть отчета (данные из таблицы или запроса).

 

 

Автоматическое создание отчета

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

1. Перейти на вкладку Отчеты. Нажать кнопку Создать.

2. Выбрать команду Автоотчет: ленточный. В качестве источника данных выбрать таблицу Объекты. Нажать OK. На экран выводится созданный отчет.

3. Просмотрев отчет, закрыть его. На запрос о сохранении изменений в отчете выбрать ответ Да. Указать имя отчета Объекты.

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

Внесение изменений в отчет. Оформление элементов отчета. Вычисляемые поля

Пример 3.1. Пусть требуется внести в отчет Объекты следующие изменения: а) изменить заголовок отчета: он должен иметь вид “Заказы на строительство объектов”; б) предусмотреть нумерацию страниц в верхней части каждой страницы, кроме первой; в) предусмотреть в конце отчета вычисление суммы стоимости всех заказов, а также дату и подпись директора предприятия; г) изменить внешний вид заголовков колонок: заголовки из двух слов (например, Шифр объекта) должны печататься в две строки; д) предусмотреть нумерацию строк отчета (каждая строка, соответствующая объекту, должна иметь номер: 1,2 и т.д.); е) указать для каждого объекта количество дней, оставшихся до окончания строительства; ж) предусмотреть сортировку отчета по количеству оставшихся дней (первыми должны указываться объекты с меньшим количеством оставшихся дней), а при одинаковом остатке – по стоимости заказа (первыми должны указываться объекты с большей стоимостью).

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

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

Нумерация страниц. По умолчанию предусмотрена нумерация страниц в нижнем колонтитуле. Там имеется отметка “="Страница " & [Page] & " из " & [Pages]” (это значит, например, что номер страницы 2 в 8-страничном отчете будет иметь вид: Страница 2 из 8). Так как требуется нумерация в верхней части страницы, поле с этой отметкой следует удалить. Нумерация страниц задается следующим образом.

1. Выбрать команду Вставка – Номера страниц.

2. Установить переключатели Страница N и Верхний колонтитул. Выбрать Выравнивание – по центру. Снять флажок Отображать номер на первой странице. Нажать OK. Создается поле номера страницы.

3. Чтобы поле номера страницы не накладывалось на заголовки столбцов отчета, следует сдвинуть заголовки вниз. Это можно выполнить следующим образом.

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

3.2. Выделить все поля заголовков столбцов. Для этого нажать клавишу Shift и, не отпуская ее, последовательно щелкнуть мышью по всем залоговкам столбцов (Шифр объекта и т.д.). Поле номера страницы не выделять. Выделив заголовки, отпустить клавишу Shift.

3.3. С помощью мыши переместить заголовки таким образом, чтобы они не накладывались на номер страницы (при перемещении курсор имеет вид раскрытой ладони).

4. Внести изменения в формат номера страницы. Поле номера страницы содержит примерно следующее выражение: =IIf([Page]>1;"Страница " & [Page];""). Чтобы указывался только номер (без слова Страница), изменить это выражение следующим образом: =IIf([Page]>1;[Page];""). Изменить это выражение можно непосредственно в поле номера страницы, или щелкнуть на этом поле правой кнопкой мыши, выбрать команду Свойства, перейти на вкладку Данные и внести изменения в строке Данные.

Оформление примечания отчета. Суммирование по столбцу отчета. Чтобы в отчете вычислялась сумма всех контрактов, необходимо вставить поле.

1. Если примечание отчета отсутствует на экране, выбрать команду Вид – Заголовок/примечание отчета. Если в примечании отчета нет места для размещения данных (суммы, даты и подписи), то следует расширить примечание отчета, как показано выше. Кроме того, если на экране отсутствует панель элементов, выбрать команду Вид – Панель элементов.

2. Из панели элементов выбрать элемент Поле (с отметкой аб). Переместить курсор в примечание отчета и щелкнуть мышью в нужном месте. На экране появляются два новых элемента: новое поле (с отметкой Свободный) и надпись к нему (слово Поле и некоторый номер).

3. Вызвать окно свойств надписи нового поля. Для этого щелкнуть на надписи правой кнопкой мыши и выбрать команду Свойства. В появившемся окне свойств надписи перейти на вкладку Макет (или на вкладку Все). Для свойства Подпись ввести текст Итого:. Закрыть окно свойств.

4. Вызвать окно свойств нового поля (самого поля, а не надписи к нему). На вкладке Данные в строке свойства Данные ввести формулу: =Sum([Стоимость контракта]). На вкладке Макет в строке Формат поля выбрать Денежный или С разделителями разрядов. Закрыть окно свойств.

Примечание. Здесь Стоимость контракта – имя поля таблицы; оно должно быть заключено в квадратные скобки, и должно абсолютно точно совпадать с именем поля, указанным в описании таблицы. Формула должна начинаться со знака “равно”. Никаких знаков в конце формулы не ставится.

Чтобы поместить в примечание отчета дату, следует выбрать команду Вставка – Дата и время. В появившемся окне выбрать желаемый формат даты, снять флажок Формат времени. Нажать OK. Поле даты помещается в отчет. Его следует переместить с помощью мыши в желаемое место (в данном примере – в примечание отчета).

Следует также удалить из нижнего колонтитула поле с отметкой Now; оно представляет собой отметку даты, вставляемую по умолчанию в нижнюю часть каждой страницы.

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

Печать заголовков столбцов в две строки. Чтобы заголовок столбца (например, Шифр объекта) печатался в отчете в две строки (слово Шифр – в одной строке, слово объекта – в другой), достаточно поместить курсор в желаемое место в заголовке (между двумя словами) и нажать Ctrl-Enter. Если часть заголовка колонки (например, вторая строка) после этого не видна на экране, то следует расширить поле, в котором находится этот заголовок.

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

 

Рисунок 1 – Отчет в режиме Конструктора

 

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

2. Выделить надпись к новому полю и удалить ее нажатием клавиши Del.

3. Вызвать окно свойств нового поля (для этого щелкнуть на нем правой кнопкой мыши и выбрать команду Свойства). На вкладке Данные в строке Данные ввести =1, в строке Сумма с накоплением выбрать Для всего. На вкладке Макет выбрать Выравнивание текста – По центру. Закрыть окно свойств.

После этого отчет в режиме Конструктора должен иметь примерно такой вид, как показано на рисунке 2.

 

Рисунок 2 – Отчет с добавленными номерами строк

 

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

1. В верхнем колонтитуле (после заголовка Дата окончания) вставить надпись, как показано выше. Ввести надпись Осталось дней.

2. В области данных после поля Дата окончания вставить новое поле. Подпись к этому полю (со словом Поле) удалить, само поле (со словом Свободный) - оставить.

3. Перейти в окно свойств созданного поля. На вкладке Данные в строке Данные ввести: =[Дата окончания]- date(). На вкладке Макет выбрать Выравнивание текста – По центру. Закрыть окно свойств.

Сортировка отчета. Выполним сортировку отчета по оставшемуся количеству дней до конца строительства, а при одинаковом количестве дней – по стоимости контракта.

1. Выбрать команду Вид – Сортировка и группировка.

2. В колонке Поле/выражение в первой строке ввести выражение: =[Дата окончания]- date(), т.е. точно такое же выражение, как для вычисления остатка дней до конца строительства. В колонке Порядок сортировки выбрать По возрастанию.

3. Во второй строке в колонке Поле/выражение выбрать поле Стоимость контракта, а в колонке Порядок сортировки - По убыванию.

4. Закрыть окно Сортировка и группировка.

Окончательный вид отчета в режиме Конструктора (после внесения всех изменений) показан на рисунке 3. Подготовленный отчет следует сохранить, затем закрыть (т.е. выйти из режима конструктора) и открыть для просмотра (нажатием кнопки Открыть). Отчет показан на рисунке 4.

Рисунок 3 – Окончательный вид отчета в режиме Конструктора

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

4. Создание отчета с помощью мастера.
Создание группированного отчета

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

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

1. Перейти на вкладку Отчеты. Нажать кнопку Создать.

2. Выбрать команду Мастер отчетов. Нажать OK.

3. В поле Таблицы и запросы выбрать таблицу Объекты. Из списка Доступные поля перенести в список Выбранные поля отметку поля Заказчик.

4. В поле Таблицы и запросы выбрать таблицу Рабочие. Из списка Доступные поля перенести в список Выбранные поля отметки полей Табельный номер, Фамилия, Профессия, Разряд, Шифр объекта. Нажать Далее.

5. В появившемся очередном окне Создание отчетов в поле Выберите вид представления данных ничего не изменять (вид представления данных будет выбран в следующих окнах). Нажать Далее.

6. Из списка Добавить уровни группировки выбрать поле Заказчик, затем – поле Профессия (именно в таком порядке, так как данные должны быть сгруппированы по заказчикам, а для каждого заказчика – по профессиям). Нажать Далее.

7. В очередном окне Создание отчетов (выбор порядка сортировки) выбрать поле Табельный номер, чтобы списки рабочих (уже сгруппированные по заказчикам и профессиям) сортировались по табельному номеру. Нажать Далее.

8. Выбрать вид макета для отчета - Структура 1. Установить флажок Настроить ширину полей для размещения на одной странице. Установить переключатель Ориентация - Книжная. Нажать Далее.

9. Выбрать стиль оформления заголовка (по своему усмотрению). Нажать Далее.

10. Указать имя отчета Распределение рабочих по объектам. Установить переключатель Просмотреть отчет. Нажать Готово.

11. На экран выводится созданный отчет.

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

1. Открыть отчет Распределение рабочих по объектам в режиме Конструктора.

2. Если в структуре отчета отсутствуют примечания групп, выбрать команду Вид – Сортировка и группировка. Для поля Заказчик (оно должно быть указано первым в колонке Поле/выражение) в строке Примечание группы выбрать значение Да. Закрыть окно Сортировка и группировка.

3. В примечание группы Заказчик вставить поле, как показано в разделе 3 (пример с суммированием по столбцу отчета). Ввести надпись для созданного поля: Количество рабочих. Для созданного поля вызвать окно свойств и в строке Данные ввести: =Count([Табельный номер]). Функция Count выполняет подсчет. Таким образом, будет подсчитываться количество табельных номеров (т.е. рабочих). Так как поле вставлено в примечании группы, подсчет будет выполняться для группы (т.е. для заказчика).

4. Сохранить изменения в отчете. Закрыть и просмотреть его.

Создание отчета на основе запроса

Как отмечено выше, в качестве источника данных для отчета может использоваться не только таблица, но и запрос.

Пример 5.1. Требуется создать отчет, содержащий суммарную стоимость контрактов для каждого заказчика, а также суммарную стоимость всех контрактов.

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

1. Перейти на вкладку Отчеты. Нажать кнопку Создать.

2. Выбрать команду Мастер отчетов. Нажать OK.

3. В поле Таблицы и запросы выбрать запрос Стоимость контрактов по заказчикам.

4. Из списка Доступные поля перенести в список Выбранные поля отметки полей Заказчик и Стоимость контрактов. Нажать Далее.

5. В очередном окне Создание отчетов удалить поле Заказчик из уровней группировки (нажатием кнопки <), так как группировка в данном случае не требуется. Нажать Далее.

6. В очередном окне Создание отчетов (выбор порядка сортировки) выбрать поле Заказчик, чтобы отчет был отсортирован по названиям заказчиков (в алфавитном порядке). Нажать Далее.

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

8. Выбрать стиль оформления заголовка (по своему усмотрению). Нажать Далее.

9. Указать имя отчета Стоимость контрактов по заказчикам. Установить переключатель Просмотреть отчет. Нажать Готово. На экран выводится созданный отчет.

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

Объединение отчетов

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

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

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

2. Открыть отчет Стоимость контрактов по заказчикам в режиме Конструктора.

3. Не закрывая окно отчета, перейти в главное окно базы данных (для этого можно воспользоваться клавишей F11). Разместить окна на экране таким образом, чтобы главное окно базы данных и примечание отчета Стоимость контрактов по заказчикам были видны одновременно.

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

 

Рисунок 5 - Подотчет

 

Рисунок 6 – Встраивание отчетов


Дата добавления: 2019-02-26; просмотров: 6109; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!