Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Часть 4 - Access 2010.docx
Скачиваний:
72
Добавлен:
08.09.2019
Размер:
1.67 Mб
Скачать

Запрос на выборку с условиями отбора.

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

Задание:

Необходимо выбрать из базы данных Учет АМТ владельцев автотранспорта, проживающих в Нижнем Новгороде. Для этого

Создайте запрос в режиме Конструктора.

Добавьте в запрос таблицы Люди и Автомобиль.

Из таблицы Люди в запросную форму добавьте поля: Фамилия, Имя, Отчество и Населенный пункт.

Из таблицы Автомобиль добавьте поля: Государственный номер, Марка, Модель.

В строке Условие отбора под выбранным полем Населенный пункт укажите "Н.Новгород" (кавычки обязательны, так как текст содержит точку).

Проверьте функционирование запроса.

Сохраните запрос под именем Нижегородцы.

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

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

AND – логическое И

OR – логическое ИЛИ

NOT – оператор НЕТ (НЕ)

IS NULL – отбор пустых значений

Для текстовых полей и полей типа Дата/время:

* – заменяет собой любую последовательность любых символов;

? – заменяет один символ.

Например:

И* – отбор всех записей, где данные начинаются на букву И.

И? – отбор всех записей, где данные состоят из двух букв, первая из которых буква И;

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

*1970 – отбор всех записей, где дата 1970 год;

*01.1970 – отбор всех записей, где дата январь 1970 года.

Для числовых полей и полей типа Дата/время:

BETWEEN – указывает интервал выбора;

> < => <= – знаки условий (больше, меньше, больше или равно, меньше или равно).

Например:

BETWEEN 10 AND 30 – отбор всех записей, где значения данного поля больше или равно 10 и меньше или равно 30.

>10 – отбор всех записей, где значения данного поля больше 10;

Задания:

В базе данных Учет АМТ.

1. Сформируйте запрос на выборку к таблице Оружие (включить все поля) для получения сведений об одноствольном оружии калибра 7,62 мм (калибр 1). Проверьте его функционирование. Сохраните запрос под именем Автоматы.

2. Сформируйте запрос на выборку к таблице Автомобили (включить все поля) для получения сведений об автомобилях Нижегородского региона, имеющих номерные знаки нового образца (номер заканчивается на 52). Проверьте его функционирование. Сохраните запрос под именем 52.

3. Сформируйте запрос на выборку к таблице Автомобили для получения сведений о наличии записей об автомобилях красного, синего или белого цвета с пробегом более 100000 км. Проверьте его функционирование. Сохраните запрос под именем Пробег.

Запросы на выборку с вычислениями.

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

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

При вычислениях могут использоваться арифметические выражения и встроенные функции Access.

Примеры вычисляемых полей:

Выражение

Результат в запросе

ФИО: [Фамилия] & " "& [Имя]

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

Стоимость заказа: [Количество] * [Цена]

Отображает в поле с именем Стоимость заказа произведение полей Количество и Цена.

Новая цена: [Цена] * 1,2

Отображает в поле с именем Новая цена значение поля Цена увеличенное на 20%.

Date() – 30

Использует функцию Date для отображения даты, предшест­вующей текущей на 30 дней.

Примечание: Обратите внимание, чтобы задать имя вычисляемому полю, перед выражением введите имя и двоеточие. Иначе вычисляемому полю присваивается имя по умолчанию Выражение1.

Задание:

Создайте запрос к базе данных Учет АМТ, который объединит в одну строку данные из трех полей таблицы Люди – Фамилия, Имя, Отчество.

Создайте новый запрос в режиме конструктора и включите в него таблицу Люди.

Добавьте в запросную форму поле Код.

Во второй столбец запросной формы введите имя вычисляемого поля и выражение (см. рисунок):