36
1.Запрос – Смена специальных званий сотрудников ОРЛС. Запрос должен изменить звания сотрудников отдела по работе с личным составом со званий полиции на звания внутренней службы.
2.Запрос – Смена специальных званий сотрудников ты-
ла. Запрос должен изменить звания сотрудников тыла со званий полиции на звания внутренней службы.
Задание 18. Использование вычислений в запросах
Спомощью встроенных функций можно обновить поля таблицы, внеся
вних вычисленные значения.
Запрос – Обновление данных о поощрениях
В датах приказа указаны 2011 и 2012 годы. Заменим эти годы на прошлый и позапрошлый от текущей даты.
Для этого, надо опередить, сколько лет надо прибавлять к данным из поля Дата приказа. К примеру, если текущим годом является 2016, значит прошлый год был 2015. Именно на него надо поменять 2012 год, таким образом, сдвиг по годам будет равен 2015-2012=3.
1.Определите величину сдвига по годам для текущей даты.
Для того, чтобы прибавить к дате определенный период времени, используется функция DateAdd.
2. Выполните команду Конструктор запросов на вкладе Созда-
ние.
3.В списке таблиц выберите таблицу Приказы о поощрениях.
4.На вкладке Конструктор выберите тип запроса Обновление.
5.Добавьте в запрос поле Дата приказа.
6.Поместите курсор в строку Обновление поля Дата приказа и нажмите кнопку Построитель на вкладке Конструктор.
7.В списке Элементы выражений раскройте список Функции и выберите Встроенные функции.
8.В списке Категории выражений выберите Дата и время.
9.В списке Значения выражений выберите DateAdd.
10.Дважды щелкните на названии функции, чтобы добавить ее в выражение. Будет вставлен шаблон с параметрами.
11.Выделите параметр «interval» (код типа интервала, который до-
бавляется к дате).
12.Введите «yyyy» (код года).
13.Выделите параметр «number» (величина интервала).
14.Введите вычисленное значение сдвига.
15.Выделите параметр «Дата» (базовое значение даты).
16.В списке Элементы выражений откройте список Книга учета поощрений и взысканий, откройте перечень таблиц, выберите таблицу
Приказы о поощрениях и двойным щелчком добавьте поле Дата приказа. Удалите появившийся шаблон «Выражение» в выражении.
37
17. Проверьте получившееся выражение (Рисунок 25). Вместо числа 3 у вас должно быть записано вычисленное значение сдвига.
Рисунок 25 – Функция DateAdd
18.Нажмите кнопку ОК и сохраните запрос под именем Обновление данных о поощрениях.
19.Запустите запрос на выполнение. В случае правильного выполнения задания вы будете уведомлены об обновлении 45 записей. Не подтвер-
ждайте выполнение запроса, если количество обновляемых записей отличается от этого значения!
20.Откройте таблицу Приказы о поощрениях. Убедитесь, что даты изменились требуемым образом. Не запускайте этот запрос на вы-
полнение повторно!
Самостоятельно создайте следующие запросы.
1.Запрос – Обновление данных о взысканиях. Запрос дол-
жен заменить 2011 и 2012 годы в приказах о взысканиях позапрошлым и прошлым годом.
2.(По назначению преподавателя!) Запрос – Снятие взысканий. Запрос должен поставить отметку о снятии взысканий для всех взысканий, с момента наложения которых до текущей даты прошло более года.
После выполнения всех заданий второй части необходимо предъявить на проверку запросы на выборку:
Список взысканий.
Поощрения ОУУП и ПДН.
Премии (начальник отдела).
Строгие выговоры и предупреждения об НСС.
Вид этих запросов показан в приложении №1.
Список сотрудников (объединенные ФИО). Этот за-
прос используется в последующих заданиях, убедитесь, что результат его выполнения совпадает с образцом!
Также должны присутствовать запросы на обновление (не запускайте их повторно!):
Смена мотива поощрения (За хорошую службу).
Смена специальных званий сотрудников ОРЛС.
Смена специальных званий сотрудников тыла.
Обновление данных о взысканиях.
38
В случае, если преподавателем не назначалось выполнение запроса Снятие взысканий, отметки о снятии по правилам, приведенным в условии этого запроса, необходимо расставить вручную.
39
Часть 3. Виды условия в запросах. Использование Мастера запросов
Задание 19. Использование в запросах подстановочных символов Иногда указать точное условие отбора или невозможно или проблема-
тично. В этом случае, можно указать шаблон условия отбора, использующий подстановочные символы.
? – любой символ на позиции * – любое количество произвольных символов
Для использования подстановочных символов в условиях отбора в Access необходимо использовать оператор Like.
Запрос – Поощрения участковых уполномоченных
Пусть требуется вывести информацию о применении поощрений к сотрудникам службы участковых уполномоченных. Группе таких сотрудников соответствует несколько наименований должностей, однако их перечислением нет необходимости заниматься, поскольку все эти наименования содержат, например, общее слово «участковый».
1. Выполните команду Конструктор запросов на вкладке Созда-
ние.
2.Добавьте в запрос таблицы Список сотрудников, Журнал учета поощрений, Виды поощрений, Приказы о поощрениях.
3.Добавьте поля Фамилия, Имя, Отчество, Должность, Специальное звание, Вид поощрения, Дата приказа. Обратите внима-
ние на то, что из таблицы Журнал учета поощрений мы не добавили ни одного поля. Эта таблица нужна для того, чтобы обеспечить связь с остальными таблицами.
4.В поле Должность добавьте условие отбора Like
«*участковый*».
5.Установите сортировку по возрастанию в поле Дата приказа.
6.Закройте запрос, присвоив ему имя Поощрения участковых уполномоченных.
7.Посмотрите результаты запроса, сравните их с образцом (Рисунок 26).
Рисунок 26 – Вид запроса после выполнения
40
Запрос – Поощрения в июне прошлого года правами начальника от-
дела
Пусть требуется получить список поощрений, примененных начальником отдела, Анисиным М.А. в июне прошлого года.
1. Выполните команду Конструктор запросов на вкладке Созда-
ние.
2.Добавьте в запрос таблицы Список сотрудников, Журнал учета поощрений, Виды поощрений, Приказы о поощрениях.
3.Добавьте поля Фамилия, Имя, Отчество, Должность, Специальное звание, Вид поощрения, Дата приказа, Кем приме-
нено из соответствующих таблиц.
4.Добавьте в поле Кем применено условие отбора так, чтобы выбрать только те поощрения, которые применил начальник отдела.
5.Сделайте поле Кем применено не выводимым на экран.
6.В поле Дата приказа добавьте условие, которому удовлетворяют все даты из диапазона 01.06.2012 – 31.06.2012 (2012 год приведен для образца!).
6.1.В этом интервале меняется только число, месяц и год остаются неизменными, поэтому в качестве условия отбора можно использо-
вать выражение Like “??.06.2012”. (2012 год приведен для
образца!)
7.Добавьте сортировку по полю Дата приказа.
8.Закройте запрос, сохранив его под именем Поощрения в июне прошлого года правами начальника отдела.
9.Откройте запрос. Убедитесь, что результат его выполнения соответствует образцу (Рисунок 27).
Рисунок 27 – Вид запроса после выполнения
Самостоятельно создайте следующие запросы.
1.Запрос – Поощрения руководящего состава. Должен со-
держать сведения о поощрениях начальника отдела, его заместителя и начальников служб и подразделений. Необходимо указать фамилию, имя и отчество сотрудника, его должность, вид и мотив поощрения, кем применено поощрение и дату приказа.
2.Запрос – Выговоры и строгие выговоры в позапро-
шлом году. Должен содержать информацию обо всех выговорах и строгих выговорах, наложенных в позапрошлом году. Необходимо указать фамилию, имя и отчество сотрудника, должность, специальное звание, вид взыскания, дату применения взыскания, номер приказа.
3.Запрос – Поощрения среднего начальствующего со-
става. Должен содержать сведения обо всех случаях поощрений, примененных к сотрудникам со специальным званием не выше капитана полиции.