Работа со сложными запросами
Сложным запросом называется запрос, включающий в себя одновременно несколько условий отбора по различным параметрам. Зная все основные этапы создания запроса с простым критерием отбора, можно перейти к более сложным условиям отбора, которые сделают запрос-выборку более производительным. В простых запросах было использовано только простое условие отбора – «Инфотур». Такой вид условия отбора называется литералом, поскольку это значение является действительным, его поиск производится в выбранной таблице. В запросах к литералам автоматически добавляются ограничители: к символьным – «»; к литералам= датам – ##.
Access имеет несколько специальных литералов, которые называются константами. Ограничители для констант не применяются. Константы используются для полей логического типа и имеют следующие значения: Да; Нет; Истина; Ложь.
Дополнительно в Access существует константа Null для пустых полей. Можно ввести эту константу как условие отбора для поля, чтобы найти все записи, которые не имеют данных в этом поле.
Задание 3.15
1. Аналогично запросу «Простой запрос 1» создайте запрос на основе таблицы «Товары» и полей «Наименование товара», «Наличие», «Поставщик».
2. Укажите условие отбора для поля «Наличие» – Да, «Поставщик» – Инфотур.
3. Сохраните запрос с именем «Простой запрос 2».
Операторы
Чтобы провести поиск в таблице по широкому диапазону значений, а не просто найти точные соответствия заданному, нужно использовать операторы сравнения, которые приведены в табл. 3.6.
Таблица 3.6
Оператор | Значение | |||
= | равно | |||
> | больше, чем | |||
>= | больше или равно | |||
< | меньше, чем | |||
<= | меньше или равно | |||
<> | не равно | |||
Часто бывает полезным использовать оператор <> (не равно) для сравнения текстовых значений.
Access имеет еще один оператор, который является полезным дополнением к операторам сравнения, – BETWEEN … AND. Он используется для поиска значений, попадающих в заданный диапазон. Например, для поиска всех значений записей, поле «Количество» которых находится в диапазоне от 1 до 2, нужно записать условие отбора следующего вида: BETWEEN 1 AND 2.
В запросах можно использовать два символа-заменителя:
1) *, обозначающий любую группу символов;
2) ?, обозначающий любой одиночный символ.
Для работы с этими символами применяется оператор LIKE. При вводе значения, имеющего в своем составе символ-заменитель, в строку «Условие отбора» автоматически добавляются оператор LIKEи символы-ограничители. Например, чтобы найти в таблице всех поставщиков, наименования которых начинаются на букву «И», достаточно в строку «Условие отбора» ввести И*. После выполнения запроса в эту ячейку автоматически добавляется LIKE «И*».
Применение символов-заменителей наиболее эффективно при выполнении запроса для полей с типом данных «MЕМО».
Задание 3.16
1. Добавьте в таблицу «Товары» в режиме «Конструктор» поле с именем «Дата поставки» и типом данных «Дата/время». В окне свойств данного поля в строке «Формат поля» установите «Длинный формат даты».
2. Сохраните изменения в структуре таблицы.
3. Откройте таблицу «Товары», поместите столбец «Дата поставки» после столбца «Поставщик».
4. Введите в столбец «Дата поставки» следующие данные:…. …
Таблица 3.6
Номер записи | Дата поставки |
11.01.2013 | |
23.01.2013 | |
14.02.2013 | |
28.02.2013 | |
03.03.2013 | |
16.03.2013 | |
18.03.2013 | |
14.04.2013 | |
30.04.2013 | |
11.05.2013 | |
19.08.2013 |
5. Создайте запрос, в основу которого положите таблицу «Товары», и выберите поля «Наименование товара», «Поставщик», «Дата поставки», «Количество товара».
6. В строке бланка запроса «Условие запроса» укажите для поля «Поставщик» – LIKE «И*», для поля «Дата поставки» – BETWEEN #02.02.2013# AND #11.05.2013#, для поля «Количество товара» – <>2.
7. Сохраните запрос с именем «Сложный запрос 1».
Дата добавления: 2020-10-01; просмотров: 460;