Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Проектирование БД с использованием СУБД Microso...doc
Скачиваний:
8
Добавлен:
04.09.2019
Размер:
3.89 Mб
Скачать

Лабораторная работа № 7 Создание простых запросов на выборку

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

В Access предусмотрено использование нескольких типов запросов, например: запрос на выборку, перекрестный запрос, запрос на создание таблицы, запросы на изменение данных(на обновление записей, на удаление записей).

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

■ Откройте вкладку «Создание», «Мастер запросов», «Простой запрос», «ОК».

■ Из списка таблиц и запросов выберите таблицу «Продажи», в столбец «Доступные поля» перенесите поля «Номер продажи», «Марка авто» и «ФИО покупателя».

■ «Далее». Задайте имя запроса: «Запрос по марке Сlio». Выберите пункт «Изменить макет запроса». «Готово».

■ В строке «Условие отбора» у поля «Марка авто» введите: «Renault Clio», либо «Сlio». (Зависит от того, как вы указали до этого в таблице).

■ Запустите запрос (щелкая по кнопке «!» на панели инструментов)

■ Должна найтись одна запись о продаже этой марки.

■ Сохраните и закройте запрос.

2. Для того, что бы нашлись записи по введенному условию, нам потребовалось записать это условие с точностью до символа. Зададим более универсальный критерий отбора записей, используя символы «?» и «*». Знак «?» позволяет заменить один любой символ, знак «*»- несколько любых символов.

■ Зайдите в конструктор только что созданного запроса (встаньте мышкой на запрос «Запрос по марке Clio», нажмите кнопку «Конструктор»). В строке «Условие отбора» вместо строки «Renault Clio» введите «*Clio».

■ Запустите запрос. В результате должна найтись все та же запись.

■ Перейдите обратно в конструктор этого запроса. При использовании в выражении символов подстановки * и ? Access автоматически добавляет функцию Like, и в строке «Условие отбора» вы видите: Like«*Clio».

■ Закройте запрос.

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

■ Откройте вкладку «Создание», «Мастер запросов», «Простой запрос», «ОК».

■ Из списка таблиц и запросов выберите таблицу «Продажи», в столбец «Доступные поля» перенесите поля «Номер продажи», «Марка авто» и «ФИО покупателя».

■ «Далее». Задайте имя запроса: «Запрос по произвольной марке». Выберите пункт «Изменить макет запроса». «Готово».

■ В строке «Условие отбора» у поля «Марка авто» введите :[Задайте марку авто] (что бы ввести квадратные скобочки, переключите шрифт на английский)

■ Запустите запрос:

Рис. 54 Простой запрос на выборку с параметром

■ В появившемся окне введите название любой марки (полностью, с точностью до символа) «ОК»- должны найтись записи о продаже именно этой марки;

■ Что бы использовать символы подстановки * и ? в окне ввода параметра (рис. 54), мучительно не вспоминая точные названия, в строке «Условие отбора» у поля «Марка авто» (в конструкторе запроса) введите: Like[Задайте марку авто].

■ Запустите запрос, найдите информацию по шаблону *Laguna

■ Сохраните и закройте запрос.

  1. Создадим запрос, задающий условие по значению логического поля.

При заполнении логического поля данными, мы ставили “галочку”, что соответствовало «Да» (или не ставили “галочку”, что соответствовало «Нет»). При задании же условий на это поле галочку заменяют слова «Да», «True», или число 1. (отсутствие галочки - «Нет», «False» или число 0)

■ Выведем на экран список консультантов с детьми, для этого:

■ Откройте вкладку «Создание», «Мастер запросов», «Простой запрос», «ОК».

■ Из списка таблиц и запросов выберите таблицу «Консультанты», в столбец «Доступные поля» перенесите поля «ФИО консультанта» и «Дети»;

■ «Далее». Задайте имя запроса: «Дети сотрудников». Выберите пункт «Изменить макет запроса». «Готово».

■ В строке «Условие отбора» у поля «Дети» введите «Да» ;

■ Запустите запрос.

■ Сохраните и закройте запрос.

  1. Создадим запрос, использующий операции сравнения.

К операторам сравнения относят: “>” (больше), “<” (меньше), “>=” (больше или равно), “<=” (меньше или равно),“<>” (не равно).

■ Выведем на экран информацию о продажах автомобилей, стоимость которых больше 12000:

■ Откройте вкладку «Запросы», «Создать», «Простой запрос», «ОК».

■ Из списка таблиц и запросов выберите таблицу «Продажи», в столбец «Доступные поля» перенесите поля «Номер продажи», «Марка авто», «Цвет», «Цена», «ФИО покупателя»;

■ «Далее». Задайте имя запроса: «Запрос по цене». Выберите пункт «Изменить макет запроса». «Готово».

■ В строке «Условие отбора» у поля «Цена» введите >12000. Можно использовать знак >= (“больше или равно”, тогда авто стоимостью ровно 12000 тоже будут выводиться);

■ Запустите запрос.

■ Сделаем так, что бы запрос работал не только для фиксированной границы в 12000. Для этого вернитесь в режим его конструктора, в строке «Условие отбора» у поля «Цена» введите >[Введите нижнюю границу цены]:

■ Запустите запрос.

  1. Создадим запрос, использующий логические операторы And и Or.

Их применяют, если необходимо указать несколько условий отбора. Если все условия должны быть выполнены одновременно, их связывают оператором and. Если должно быть выполнено хотя бы одно из условий, используют оператор or.

■ Получим информацию о продажах, совершенных в диапазоне между 5 и 15 октября 2006 года, для этого:

Откройте вкладку «Запросы», «Создать», «Простой запрос», «ОК».

■ Из списка таблиц и запросов выберите таблицу «Продажи», в столбец «Доступные поля» перенесите поля «Номер продажи», «Марка авто», «Цвет», «Цена», «ФИО покупателя», «Число», «Месяц», «Год».

■ «Далее». Задайте имя запроса: «Запрос по дате продаж». Выберите пункт «Изменить макет запроса». «Готово».

■ В строке «Условие отбора» у поля «Число» введите >5 and <15, в той же строке у поля «Месяц» введите «Октябрь», у поля «Год» - 2006:

Рис 55. Конструктор запроса

(если бы дата не была разбита на 3 независимых поля, как у нас, а было бы использовано одно поле «Дата продажи» типа «Дата/Время», то аналогичное условие отбора выглядело бы так: >#05.10.2006# and <#15.10.2006# (символ решетки Access добавляет автоматически при работе с типом «Дата/Время» )

■ Запустите запрос.

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

■ Откройте вкладку «Создание», «Мастер запросов», «Простой запрос», «ОК».

■ Из списка таблиц и запросов выберите таблицу «Поставки», в столбец «Доступные поля» перенесите все поля.

■ «Далее». Задайте имя запроса: «Запрос по дате поставок». Выберите пункт «Изменить макет запроса». «Готово».

■ В строке «Условие отбора» у поля «Дата поставки» введите:

>[Показать поставки с:] And <[по:]

■ Запустите запрос.

В качестве нижней границы диапазона можете задать 1.09.2006, верхней- 15.09.2006:

Рис. 56Запрос по датам поставок

Должна найтись информация о 4-х поставках.

■ Закройте запрос.