Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Ивличев П.С. Практикум по информационным технологиям. Ч. 5. Проектирование баз данных

.pdf
Скачиваний:
26
Добавлен:
07.01.2021
Размер:
1.4 Mб
Скачать

41

Необходимо указать ФИО сотрудника, его должность и специальное звание, вид поощрения, дату его применения, номер приказа.

Задание 20. Запросы с параметром Для использования одного запроса с целью извлечения однотипных

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

Запрос – Личный номер

Пусть требуется по личному номеру определить ФИО сотрудника, его должность и специальное звание.

1. Выполните команду Конструктор запросов на вкладке Созда-

ние.

2.Добавьте в запрос таблицу Список сотрудников.

3.Добавьте в макет запроса все поля этой таблицы.

4.В качестве условия отбора в поле Личный номер введите пара-

метр с пояснением – [Введите личный номер сотрудника].

5.Сделайте поле Личный номер не выводимым на экран.

6.Закройте запрос, присвоив ему имя Личный номер.

7.С помощью созданного запроса выясните, кому принадлежит но-

мер С-114820.

7.1.Двойным щелчком запустите запрос на выполнение. Появится диалоговое окно для ввода параметра (Рисунок 28).

Рисунок 28 – Окно ввода параметров

7.2.Введите в поле требуемый номер (поскольку на поле Личный номер назначена маска ввода, знак тире не вводится!) и нажмите ОК. Появится результат выполнения запроса (Рисунок 29).

Рисунок 29 – Результат выполнения запроса

8. Выясните, кому принадлежат номера С-115158 и С-114050.

Самостоятельно создайте запрос.

1. Самостоятельно создайте запрос – Применение вида взыскания, позволяющий по введенному коду взыскания получить перечень сотрудников, к которым оно применялось. Запрос должен содержать фамилию, имя и отчество сотрудника, его должность, специальное звание, вид взыскания и дату его наложения.

42

Задание 21. Добавление в запрос групповых операций Групповые операции представляют собой простейшие статистические

функции, которые позволяют работать с массивом записей. Самой простой групповой операцией является Группировка. Она позволяет получить перечень всех значений поля, по которому проводится эта операция.

Запрос – Поощренные сотрудники

Пусть требуется получить список сотрудников, к которым применялись поощрения.

1. Выполните команду Конструктор запросов на вкладке Созда-

ние.

2.Добавьте в запрос таблицы Список сотрудников и Журнал учета поощрений.

3.Добавьте в запрос поля фамилия, имя, отчество, должность, подразделение и специальное звание из таблицы Список сотрудников.

4.Для того, чтобы при составлении запроса учитывался факт наличия записи в подчиненной таблице Журнал учета поощрений, необходимо добавить в запрос поле из этой таблицы, содержащее те же сведения, что и в таблице Список сотрудников. Таким полем является поле Личный номер. Добавьте в запрос это поле из таблицы Журнал учета по-

ощрений.

5.Закройте запрос, присвоив ему имя Поощренные сотрудники.

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

7.Щелкните правой кнопкой мыши на запросе Поощренные сотрудники и выберите команду контекстного меню Конструктор.

8.На вкладке Конструктор выполните команду Итоги . В таблице добавленных полей появится дополнительная строка (Рисунок 30).

Рисунок 30 – Групповые операции

9.Установите тип групповой операции Группировка. Сделайте поле Личный номер не выводимым на экран. Закройте запрос, сохранив изменения в его структуре.

10.Откройте запрос. Убедитесь, что повторяющихся записей больше

нет.

43

Помимо операции Группировка, к групповым операциям относят следующие (Таблица 11).

Таблица 11 – Список групповых операций

Sum

Сумма значений в группе или поле

Min

Минимальное значение в группе или поле

Max

Максимальное значение в группе или поле

Count

Количество записей в группе или поле

First

Первая запись в группе или поле

Last

Последняя запись в группе или поле

Запрос – Сколько раз применялись виды поощрений

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

1. Выполните команду Конструктор запросов на вкладке Созда-

ние.

2.Добавьте в запрос таблицы Виды поощрений и Журнал уче-

та поощрений.

3.Добавьте в запрос поле Вид поощрения из таблицы Виды поощрений.

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

например, поле Номер.

5.Выполните команду Итоги на вкладке Конструктор.

6.В поле Вид поощрения установите операцию Группировка, в

поле Номер – операцию Count.

7.Поместите курсор в поле Номер и нажмите на вкладке Кон-

структор кнопку Страница свойств

8.В окне свойств, на вкладке Общие в поле Подпись введите но-

вое наименование поля: Количество применений.

9.Закройте запрос, присвоив ему имя Сколько раз применя-

лись виды поощрений.

10.Откройте запрос. Посмотрите результаты его выполнения (Рисунок 31).

44

Рисунок 31 – Запрос с итогами

Самостоятельно создайте следующие запросы (во втором и третьем запросах измените заголовок поля на более подходящий).

1.Запрос – Список применявшихся взысканий. Должен со-

держать перечень видов взысканий, наложенных когда-либо на сотрудников.

2.Запрос – Количество поощрений. Должен содержать информацию о количестве поощрений у каждого из сотрудников с указанием его фамилии, имени, отчества, должности и специального звания.

3.Запрос – Количество взысканий в приказах. Должен со-

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

Задание 22. Перекрестные запросы Для наглядного представления данных в случае группировки по не-

скольким критериям Access содержит средство Перекрестные запросы.

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

Запрос – Статистика поощрений

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

1. Создайте промежуточный запрос ФИО и поощрения, содержащий необходимые поля.

1.1.Выполните команду Конструктор запросов на вкладке Создание.

1.2.Добавьте в запрос таблицы Виды поощрений, Журнал учета поощрений и запрос Список сотрудников (Объединенные ФИО).

45

1.3.В области таблиц перетащите поле Личный номер из запроса Спи-

сок сотрудников (Объединенные ФИО) на поле Личный но-

мер таблицы Журнал учета поощрений, чтобы создать связь между источниками полей (Рисунок 32).

Рисунок 32 – Связывание источников данных

1.4.Добавьте в запрос поля выражение1, должность и специальное звание, для группировки по сотрудникам (поле выражение1 содержит ФИО сотрудника).

1.5.Добавьте в запрос поле Вид поощрения для организации группировки по поощрениям.

1.6.Добавьте в запрос поле Номер для подсчета итогового значения в группе.

1.7.Сохраните запрос под именем ФИО и поощрения.

2.Создайте перекрестный запрос.

2.1.Выполните команду Мастер запросов на вкладке Создание.

2.2.В открывшемся диалоговом окне выберите Перекрестный запрос и нажмите кнопку ОК.

2.3.Выберите запрос ФИО и поощрения и нажмите кнопку Далее.

2.4.В качестве заголовков строк выберите поля выражение1, долж-

ность и специальное звание. Нажмите кнопку Далее.

2.5.В качестве заголовков столбцов выберите поле Вид поощрения. Нажмите кнопку Далее.

2.6.Для поля Номер установите функцию Число.

2.7.Отметьте флажок, чтобы вычислить итоговые значения по каждой строке. Нажмите кнопку Далее.

2.8.Введите имя запроса Статистика поощрений.

3.Отредактируйте имя поля Итоговое значение Номер.

3.1.Откройте созданный запрос в Конструкторе.

3.2.Щелкните правой кнопкой мыши на поле Итоговое значение Номер и отобразите окно свойств.

3.3.Измените имя поля на Всего поощрений.

При выполнении, перекрестный запрос должен принять следующий вид (Рисунок 33).

46

Рисунок 33 – Перекрестный запрос

Самостоятельно создайте запрос.

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

Задание 23. Поиск повторяющихся записей Это средство позволяет найти количество повторений значений в поле.

Запрос – Несколько взысканий

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

1.Создайте промежуточный запрос Сотрудники со взысканиями, содержащий необходимые поля.

1.1.Выполните команду Конструктор запросов на вкладке Создание.

1.2.Добавьте в запрос таблицы Список сотрудников и Журнал учета взысканий.

1.3.Добавьте в запрос поля Фамилия, Имя, Отчество, Должность и Специальное звание, для идентификации сотрудника.

1.4.Добавьте в запрос поле Код взыскания в качестве дополнительного поля.

1.5.Сохраните запрос под именем Сотрудники со взысканиями.

2.Создайте запрос на поиск повторяющихся записей.

2.1.Выполните команду Мастер запросов на вкладке Создание.

2.2.В открывшемся диалоговом окне выберите Повторяющиеся записи и нажмите кнопку ОК.

2.3.Выберите запрос Сотрудники со взысканиями и нажмите кнопку Далее.

2.4.В качестве полей, содержащих повторяющиеся значения, укажите поля Фамилия, Имя, Отчество, Должность и Специальное звание. Нажмите кнопку Далее.

47

2.5.Дополнительные поля для вывода не нужны, поэтому этот шаг можно пропустить. Щелкните кнопку Далее.

2.6.Введите имя запроса Несколько взысканий и нажмите кнопку

Готово.

2.7.Просмотрите результаты запроса и сравните их с образцом (Рисунок

34).

3.Измените отображаемые названия полей на Фамилия, Имя, От-

чество, Должность и Специальное звание и Количество взысканий.

Рисунок 34 – Поиск повторений

Самостоятельно создайте следующие запросы (вспомогательные запросы разработайте самостоятельно).

1.Запрос – Несколько поощрений в одном приказе. Дол-

жен содержать сведения о приказах (номер, дату приказа, сведения о лице, подписавшем приказ), которыми поощрялись несколько сотрудников.

2.Запрос – Несколько поощрений в позапрошлом году.

Должен содержать список сотрудников, к которым несколько раз применялись меры поощрения в позапрошлом году.

Задание 24. Поиск записей без подчиненных Это средство предназначено для поиска в главной таблице записей, ко-

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

Запрос – Не применявшиеся поощрения.

Предположим, что требуется получить список поощрений, которые не применялись к сотрудникам. Этот запрос можно сформулировать следующим способом: каким записям основной таблицы Виды поощрений не соответствует ни одной записи в подчиненной таблице Журнал учета по-

ощрений?

1.Выполните команду Мастер запросов на вкладке Создание.

2.В открывшемся диалоговом окне выберите пункт Записи без подчиненных и нажмите ОК.

3.Выберите главную таблицу (Виды поощрений) и нажмите кнопку Далее.

4. Выберите подчиненную таблицу (Журнал учета поощрений)

инажмите кнопку Далее.

5.Выделив в перечне полей таблицы Виды поощрений поле Код

ив перечне полей таблицы Журнал учета поощрений поле Код поощ-

48

рения, установите между ними соответствие с помощью кнопки . Нажмите кнопку Далее.

6.В качестве полей для отображения, выберите поле Вид поощрения. Нажмите кнопку Далее.

7.Введите имя запроса Не применявшиеся поощрения и

нажмите кнопку Готово.

8.Сравните результат выполнения с образцом (Рисунок 35)

Рисунок 35 – Запрос Записи без подчиненных

Самостоятельно создайте следующий запрос

1. Запрос – Не имеют поощрений. Должен содержать список сотрудников, которые не имеют поощрений за рассматриваемый период времени.

Проверьте наличие всех запросов по списку и соответствие результатов их выполнения образцу (Приложение 1).

Поощрения руководящего состава.

Выговоры и строгие выговоры в позапрошлом году.

Поощрения среднего начальствующего состава.

Применение вида взыскания (проверить на замечании).

Список применявшихся взысканий.

Количество поощрений.

Количество взысканий в приказах.

Статистика взысканий.

Несколько поощрений в одном приказе.

Несколько поощрений в позапрошлом году.

Не имеют поощрений.

49

Часть 4. Отчеты

Задание 25. Создание отчетов

Отчеты в Access предназначены для вывода на печать информации из запросов и таблиц. Если требуется вывести информацию из нескольких таблиц, то сначала необходимо создать простой запрос на выборку данных из этих таблиц.

Основными средствами создания отчетов являются Конструктор и Ма-

стер.

Конструктор отчетов – это наиболее гибкое средство создание отчетов, позволяющее создать отчет любого уровня сложности. Использование этого средства для первоначального создания типовых отчетов нерационально, в большинстве случаев Конструктор используется для редактирования уже созданных отчетов.

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

Отчет – Журнал учета взысканий

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

1. Создайте простой запрос Журнал учета взысканий (запрос).

1.1.Выполните команду Мастер запросов на вкладке Создание.

1.2.В списке выберите Простой запрос и нажмите кнопку ОК.

1.3.В списке Таблицы и запросы выберите запрос Список сотрудников (объединенные ФИО).

1.4.Добавьте в запрос поля Выражение 1, Должность и Специаль-

ное звание из этого запроса.

1.5.Выберите в списке таблицу Виды взысканий.

1.6.Добавьте в запрос поле Вид взыскания.

1.7.Выберите в списке таблицу Журнал учета взысканий.

1.8.Добавьте в запрос поле Причина.

1.9.Выберите в списке таблицу Приказы о взысканиях.

1.10.Добавьте в запрос поля Кем наложено, Номер приказа, Дата приказа.

1.11.Выберите в списке таблицу Журнал учета взысканий.

1.12.Добавьте в запрос поле Отметка о снятии.

1.13.Нажмите кнопку Далее.

50

1.14.Выберите в качестве вида отчета подробный. Нажмите кнопку Да-

лее.

1.15.Присвойте запросу имя Журнал учета взысканий (запрос) и

нажмите кнопку Готово.

2. С помощью Мастера отчетов создайте отчет Журнал учета взысканий.

2.1.Выполните команду Мастер отчетов на вкладке Создание.

2.2.В списке Таблицы и запросы выберите запрос Журнал учета взысканий (запрос) и добавьте в отчет все поля запроса. Нажмите кнопку Далее.

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

2.4.Добавьте уровень группировки по полю Дата приказа.

2.5.С помощью кнопки установите тип группировки по месяцам. Нажмите кнопку Далее.

2.6.Добавьте уровни сортировки данных в группе по возрастанию даты и по возрастанию в поле Выражение 1. Нажмите кнопку Далее.

2.7.Выберите макет Блок и альбомную ориентацию страницы. Устано-

вите флажок Настроить ширину полей для размещения на одной странице. Нажмите кнопку Далее.

2.8.Присвойте отчету имя Журнал учета взысканий и нажмите кнопку Готово. Отчет откроется для просмотра (Рисунок 36).

Рисунок 36 – Вид отчета после создания

Задание 26. Редактирование макета отчета Построенный отчет обладает существенным количеством недостатков

впредставлении: данные не вмещаются в отведенные им поля, последовательность полей не соответствует образцу в задании 2. Эти погрешности автоматического построения можно отредактировать вручную, воспользовавшись встроенными средствами Access.

Для перехода в режимы редактирования отчета служит список Режим

вгруппе Режимы на вкладке Главная.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]