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

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

Отчёт может создаваться с помощью мастера или в режиме конструктора отчётов. Если отчёт создаётся с помощью мастера отчётов, то при необходимости его можно доработать в режиме конструктора. Разнообразные возможности конструктора отчётов позволяют легко структурировать и оформить полученные данные надлежащим образом.

Перед созданием отчёта надо, чтобы все необходимые данные были представлены либо в таблице, либо в отчёте.

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

Заголовок отчёта – как правило, это текст, который печатается в начале отчёт. Заголовок может быть дополнен логотипом фирмы.

Основная информация в отчёте представлена группами. Каждая группа состоит из заголовка группы, данных группы и примечания группы.

Заголовок группы – то, что является общим для всех групп.

Данные группы – конкретные данные, определяемые заголовком группы.

Примечание группы – содержит обобщающую информацию о группе, например, итоговую сумму.

Примечание отчёта – то, что печатается в конце отчёта, например, дата печати отчёта.

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

Модификация данных с помощью запросов

Под модификацией данных будем понимать обновление данных, добавление новых данных и удаление данных, потерявших свою актуальность.

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

Чтобы создать запрос на обновление, необходимо сначала создать запрос на выборку, который затем преобразуется в окне конструктора запросов в запрос на обновление. Для этого надо не выходя из конструктора запросов открыть список в панели инструментов «Тип запроса» и выбрать тип «Обновление». Можно также воспользоваться командой меню «Запрос\Обновление».

С помощью запроса на добавление производится добавление записей из таблицы результата запроса в таблицу базы данных. Поэтому поля добавляемых записей в запросе должны соответствовать полям существующих записей таблицы.

Первоначально запрос на добавление создаётся как запрос на выборку для одной или нескольких взаимосвязанных таблиц. Затем в окне конструктора запросов он превращается в запрос на добавление выбором типа запроса «Дабавление» или командой меню «Запрос\Добавление». При этом открывается диалоговое окно «Добавление» в котором надо из списка выбрать таблицу, в которую будут добавляться новые данные.

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

После преобразования запроса в запрос на добавление в его бланке появляется строка «Добавление».

Для указания в строке «Добавление» имен полей таблицы-получателя, в которые будут добавляться значения из соответствующих полей таблицы запроса, необходимо в каждом поле с раскрывающимся списком этой строки открыть список полей и выбрать нужное имя.

Запрос на удаление позволяет удалить записи из одной таблицы или из нескольких взаимосвязанных таблиц, для которых установлен флажок «каскадное удаление связанных записей». В запросе указываются таблицы, из которых должны удаляться записи, и задаются условия отбора удаляемых записей.

Первоначально запрос на удаление создается как запрос на выборку, в схему данных которого включаются взаимосвязанные таблицы, их которых требуется удалить записи и для полей которых задаются условия отбора. Затем запрос в режиме конструктора преобразуется в запрос на удаление выбором типа запроса «Удаление» или выполнением команды меню «Запрос\Удаление».

После преобразования запроса в запрос на удаление в его бланке появляется строка «Удаление». Затем формируется бланк запроса.

Для задания таблицы, записи которой требуется удалить, надо переместить с помощью мыши символ звёздочки из списка полей соответствующей таблицы в бланк запроса. В строке «Удаление» в этом поле появляется значение «Из». Для задания условий отбора удаляемых записей необходимо переместить с помощью мыши в бланк запроса те поля, для которых устанавливаются условия отбора. В строке «Удаление» в полях с этими именами появляется значение «Условие». Строку «Условие отбора» для этих полей следует заполнить необходимыми условиями.

Следует иметь в виду, что удаленные записи нельзя восстановить.

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

После удаления подчинённых записей можно выполнить удаление записей в главной таблице. Такая последовательность удаления записей необходима, если между таблицами, находящимися в отношении типа один-ко-многим, установлена связь, но не установлен флажок «каскадное удаление связанных записей». Если этот флажок установлен, то для удаления записей главной таблицы и связанных с ними подчинённых записей достаточно указать в запросе удаление записей главной таблицы. Если флажок каскадного удаления не установлен, то удаление записей главной таблицы возможно только при отсутствии в подчинённой таблице связанных записей.

Контрольные вопросы

1. Что такое отчёт?

2. Из каких структурных единиц состоит отчёт?

3. Как создать отчёт с помощью конструктора?

4. Как создать запрос на обновление данных?

5. Как создать запрос на удаление данных?

6. Как создать запрос на добавление данных?