Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
AccessЛабораторные2001.DOC
Скачиваний:
6
Добавлен:
16.04.2015
Размер:
895.49 Кб
Скачать

Задание

Создайте следующие запросы на выборку:

  • данные о заработной плате одной из категорий работников,

  • данные о должностях женщин,

  • данные о районах проживания высокооплачиваемых мужчин,

  • данные об оплате директоров по убыванию этой оплаты,

Разработайте следующие запросы на выборку с вычислениями:

  • расчет премий всем сотрудникам в размере 50%оклада,

  • расчет выплат женщинам, имеющим детей, в размере 20%от оклада на каждого ребенка;

Создайте следующие запросы на выборку с группировкой:

  • суммы зарплат по всем районам;

  • средняя зарплата всех работников;

  • суммы зарплат по каждой должности;

  • средние зарплаты женщин и мужчин (начиная с женщин).

  • количество работников, проживающих в некотором районе;

  • количество не служивших в армии;

  • количество родившихся в заданном году;

  • количество не имеющих телефонов;

  • средний оклад сотрудников, проживающих в заданном районе;

  • средний оклад сотрудников, имеющих не менее троих детей;

  • средний оклад сотрудников заданного возраста;

  • сумму окладов мужчин, служивших в армии;

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

  • общую сумму окладов всех работников фирмы;

Создайте следующие запросы на обновление и выполните их:

  • увеличить всем сотрудникам зарплату в 1,45раза;

  • добавить всем по 3рубля.

  • переименовать заданное название района (аналогичная ситуация возникла, когда в СПб произошло объединение Октябрьского и Дзержинского района в Центральный);

  • изменить заданный табельный номер, добавив в конец /1.

  • тем, кто родился до 1965года, добавить по1000рублей;

  • написать запрос добавления к номеру телефона первой цифры "2". Такая ситуация возникла, когда осуществлялся переход от шестизначных номеров к семизначным.

  • записать в поле номера телефона слово нетдля тех сотрудников, у кого это поле пусто;

Постройте следующие запросы на удаление:

  • удалить записи о всех сотрудниках, родившихся до 7.11.1917года;

  • удалить все записи, имеющие пустое значение в поле ФИО.

У супругов, работающих на нашем предприятии и имеющих одинаковую фамилию, родился ребенок. Разработайте способ правильной корректировки БД для этого случая.

Порядок выполнения работы Работа с запросами на выборку

Для создания запросов выберите на листе Запросыбазы данных:Создать  Конструктор  ОК.

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

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

Задание условий выборки полностью аналогично заданию условий фильтра.

Для выполнения запросов, включающих условия типа "…для заданного района…" следует ввести в условие некоторую новую переменную. Условие выбора приобретет вид, показанный на Рис. 2:

Рис.2. Задание новой переменной

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

При выполнении этого запроса эта переменная найдена не будет, так как нигде в Access ей не присваивается никакого значения.

Вэтом случае при выполнении запросаAccess спросит у оператора, чему должно быть равно значение переменнойНужныйРайон.Это будет сделано с помощью диалогового окна. Оно изображено на Рис. 3.

Рис. 3. Диалоговое окно ввода параметра запроса

Название района, которое Вы введете в это поле, и будет образцом для поиска.

Внимание. Если в Вашем запросе имеется ошибка и какой-то параметр по разным причинам не может быть определен, то выводится аналогичное сообщение.

Предложенный способ все же не является наилучшим, так как Вы могли забыть несколько букв образца для поиска. Запрос станет более гибким, если в ячейку Условие отбора(см. Рис.2.) ввести выражение

Like [НужныйРайон].

Тогда в поле ввода можно будет вводить шаблон для поиска, например:

Калин[ие]нский

Такая запись означает, что будут выведены записи и о Калининском, и о Калиненском районах (на случай грамматической ошибки, сделанной при вводе данных). Есть и другие возможности работы с шаблонами. Например, запись

Калин[!е]*

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

Для еще большей гибкости и простоты работы можно ввести в условие отбора выражение

Like "*" & [НужныйРайон] & "*".

Эта запись означает, что сравнение будет производиться со строкой, "склеенной" из звездочки, введенного Вами набора символов и еще одной звездочки. Для указания на необходимость склейки используются символы &. Так как звездочка заменяет любое число любых символов, Вы сможете вводить любой фрагмент названия района.

На Рис. 2 Вы видите строку Вывод на экран. Ее роль можно пояснить на примере выбора жителей определенного района. Пусть в выбранном Вами районе проживает 20 человек. Тогда в запросе 20 раз повторится название района, которое Вы ввели, хотя Вы его и так знаете. Это поле следует выбирать в запросе, так как оно должно проверяться, а вот выводить его на экран не следует. Запретите вывод поля на экран.

Для выполнения вычислений задайте в ячейке Полеодного из полей запроса выражение вида

Премия: Оклад*2.

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

Для группировки (то есть обобщения данных из многих записей в одной записи запроса) следует открыть запрос в режиме Конструктора и нажать кнопку Σ на панели инструментов. Тогда в таблице Конструктора запросов появится строка Групповая операция. В этой строке следует указать Группировка для одного из полей. Например, если надо найти сумму окладов по районам, то поле района будет полем группировки. Для каждого значения этого поля будет создана одна запись в запросе. В поле Оклад в строке Групповая операция укажите ту операцию, которую надо выполнить с окладами (в данном случае – суммирование).

Таким образом, для групповой операции требуется обычно два поля: по одинаковым значениям одного из них производится группировка, а над другим выполняются определенные действия.

Наиболее часто используются следующие групповые операции:

Avg – среднее;

Max – максимум;

Min – минимум;

Count – количество;

Sum – сумма.

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