А) Ввод условий отбора в запрос и запросы на основе полей с



Вычислениями

 

Включение в запрос условий отбора данных во многом расширяет возможности фильтрации сведений, содержащихся в базе данных. Продемонстрируем это на примере созданного ранее запроса «Учебный1» (см. описание к лабораторной работе № 2). Следует напомнить, что в запросе «Учебный1» отражена информация о табельном номере, фамилии, имени, отчестве каждого из сотрудников «ЧП Филимонов», а также о том, в каком отделе каждый из них работает. Откорректируем запрос и выведем эти же сведения, но о сотрудниках, чьи табельные номера находятся в диапазоне от 10 до 20. Алгоритм действий для выполнения сформулированной задачи выглядит таким образом.

1а) Откройте запрос «Учебный1» в режиме конструктора, для чего, находясь на закладке «Запросы» и выделив «Учебный1», нажмите на кнопку «Конструктор» в правой части закладки. Откроется бланк запроса в том виде, как это показано на рис. 8;

2а) мышкой переведите курсор в первое поле бланка запроса напротив слов «Условие отбора» и введите оператор отбора данных в заданном диапазоне - between 10 and 20 (см. рис. 13);

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

Кроме указанного выше оператора отбора between существуют и другие операторы, все они приведены в таблице 1.

 

Табл. 1

Операторы сравнения или отбора данных, используемые при задании условий в бланке запроса

Оператор Описание
< Меньше
<= Меньше или равно
> Больше
>= Больше или равно
= Равно
<> Не равно
In Проверяет на равенство значения в поле любому значению из списка; операндом является список, заключенный в круглые скобки. Например, In (“Ив”, “5”, “рабочий”)
Between Проверяет, что значение поля находится в заданном диапазоне; верхняя и нижняя границы диапазона разделяются логическим оператором “and”; пример использования показан на рис. 13
Like Проверяет соответствие текстового поля заданному шаблону символов. Например, like Ив* или like *ов. После ввода условия отбора текстовый фрагмент оператора автоматически заключается в кавычки, т.е. like “Ив”
Or Логический оператор «или» предназначен для совмещения нескольких условий выбора. Чтобы запись попала в запрос, истинным должно быть хотя бы одно условие
And Логический оператор «и» предназначен для объединения нескольких условий отбора. Чтобы запись попала в запрос, истинными должны быть все перечисленные условия

 

 

Кроме условий отбора существует еще один мощный катализатор действенности запроса – это так называемое поле с вычислениями. Для выполнения вычислений с любыми полями базовых таблиц можно создать выражение и определить его в качестве нового поля запроса, т.е. поля с вычислениями. При создании такого поля можно использовать арифметические операции и любые встроенные функции Access. Вычисляемое поле может также содержать результат конкатенации (объединения) значения текстовых полей, строковых констант или числовых данных. В качестве оператора конкатенации используется символ «&». Арифметические операторы общеизвестны – «+», «-», «*», «/», остальные из наиболее часто употребляемых приведены в табл. 2.

Табл. 2

Операторы, использующиеся при создании полей с вычислениями

Операторы Описание
\ Округляет два числовых выражения до целых значений и делит первое на второе. Результат округляется до целого
^ Возводит первое числовое выражение в степень, задаваемую вторым числовым выражением
Mod Округляются оба числовых выражения до целых значений, делит первое на второе и возвращает остаток
& Создает новую текстовую строку, присоединяя вторую строку к концу первой. Если один из операндов является числом, Access перед проведением конкатенации преобразует его в строку символов

 

Покажем, как организовать поле с вычислением «Возраст сотрудника»» на примере запроса «Учебный1». Во-первых, откройте этот запрос в режиме конструктора. Снимите ранее введенное условие отбора, а указатель мыши в бланке запроса переведите в свободное поле бланка и нажмите левую кнопку мыши. В свободном поле бланка запроса наберите «Возраст сотрудника: 2000 – [год рождения]» (см. рис. 14). После этого откройте запрос в режиме таблицы и убедитесь в том, что запрос организован правильно.

Следует заметить, что для ввода сложных выражений в вычисляемое поле существует специальное окно, которое можно вызвать кнопкой «Построить» (рис. 14) или воспользовавшись контекстным меню, когда курсор находится на месте предполагаемого выражения. В этом окне можно строить выражения практически любой сложности, так как существует возможность подключить все встроенные функции Access. Знакомство с принципами работы в окошке “Построитель выражений” проведите самостоятельно, широко используя справку.

 

Б) Перекрестные запросы

 

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

 

 

Рис. 9.1. Бланк запроса Заработанная плата и отдел
Необходимо получить информацию о суммарном значении выплат заработной платы сотрудникам по отделам организации «ЧП Филимонов», т.е. иначе говоря, провести рейтинг и выяснить какое количество денег, выплаченных в виде заработной платы, приходится на каждый отдел предприятия. Как это сделать? А вот как…

Во-первых, сформируйте простой запрос на основе таблицы «Список», «Табель» и «Отделы». Для чего откройте закладку «Запросы» и нажмите на кнопку «Создать», расположенную в правой части окна базы данных. В открывшемся окне «Создание запроса» выберите вариант «Конструктор» и нажмите на кнопку «ОК» в нижней части диалогового окна. Откроется бланк запроса, добавьте в верхней части бланка нужные таблицы (между таблицами должны быть установлены связи), а непосредственно в бланк из таблицы «Список» последовательно введите поля «Табельный номер», «ФИО» (это объединений трех полей – «Фамилия», «Имя», «Отчество»), «Должность» и «Заработная плата», а из таблицы «Отделы» введите поле «Название отдела».

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

Следующее действие – находясь на закладке «Запросы», нажмите на кнопку «Создать». В открывшемся списке вариантов создания выберите «Перекрестный запрос». Откроется диалоговое окно «Создание перекрестного запроса», выглядит оно следующим образом:

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

Появляется следующее диалоговое окно «Создание перекрестных таблиц» (рис. 16). Слева в этом диалоговом окне написано: «Выберите поля, значения которых будут использованы в качестве заголовков строк….». В соответствии с этой инструкцией выберите поле «Название» (отдела – имеется ввиду) и нажмите на кнопку выбора поля, чтобы поле «Название отдела» стало «Выбранным полем». При этом в нижней части диалогового окна, в образце, происходят соответствующие изменения. После выбора нужного поля в качестве заголовков строк, щелкните по кнопке «Далее».

Появляется второе диалоговое окно «Создание перекрестных таблиц», аналогичное предыдущему, но слева там написано: «Выберите поля для использования их значений в качестве заголовков столбцов…» В соответствии с предлагаемой инструкцией выбираем поле «ФИО». При этом в образце появляются надписи «ФИО1», «ФИО2», «ФИО3» и т.д., как названия полей перекрестного запроса.

После этих действий нажмите на кнопку «Далее». Появится следующее по счету диалоговое окно «Создание перекрестных таблиц» (рис. 17). Слева в этом диалоговом окне написано: «Какие вычисления необходимо провести для каждой ячейки на пересечении строк и столбцов…». Ориентируйтесь на выполняемую задачу и выберите поле «Заработная плата», а в качестве

 

 

функции, которую нужно использовать при итоговых вычислениях – суммирование или «Sum». После выбора нажмите на кнопку «Далее».

 

Появится еще одно диалоговое окно «Создание перекрестных таблиц», где запрашивается имя запроса. Введите имя запроса и нажмите на кнопку «Готово». После паузы на экране появится требуемая информация оформленная как перекрестная таблица на рис. 18 (записи естественно должны быть другими).


Таким образом, задача об итоговых выплатах зарплаты в отделах организации «ЧП Филимонов» - решена. Примените полученные навыки при решении аналогичных задач.

 


Дата добавления: 2018-04-15; просмотров: 231; Мы поможем в написании вашей работы!

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






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