
- •Содержание
- •Работа с базой данных
- •Запросы
- •Создание запроса
- •Запрос на выборку
- •Параметрический запрос
- •Запросы с вычисляемыми полями
- •Итоговые запросы
- •Перекрестный запрос
- •Запросы на изменение данных в таблицах
- •Задания по теме «Запросы»
- •Создание формы
- •Редактирование формы
- •Формы для связанных таблиц
- •Связывание форм с помощью командных кнопок
- •Создание многостраничных форм
- •Задания по теме «Формы»
- •Создание отчета
- •Элементы управления в отчете
- •Сортировка и группировка информации
- •Примеры конструирования отчётов
- •Вычисление итогов и процентов
- •Создание и внедрение подчинённых отчётов
- •Создание почтовых наклеек
- •Просмотр и печать отчёта
- •Задания по теме «Отчёты»
- •Контрольные вопросы
- •Литература
- •Приложение 1. Кнопки панели элементов управления
Запрос на выборку
Запрос на выборку является самым распространенным типом запроса.
Данный запрос определяет, какие записи или поля из одной или нескольких таблиц будут отображены при его выполнении по заданному условию (критерию поиска).
В зависимости от характера критерия поиска различают несколько типов запросов:
по точному значению одного поля;
по приближённому значению поля;
по сравнению значений одного поля;
использование логических операций (И, ИЛИ, НЕ);
Выбор записей по точному значению одного поля
Для такого запроса следует ввести значение поля в строку Условие отбора запросного бланка в соответствующий столбец (см. рис.1);
Примечания.
Текстовое значение поля Access заключает в кавычки.
При вводе даты Access добавляет символ # (пример: #23.12.1980#).
Числа, денежные суммы вводятся обычным образом.
Выбор записей по приближённому значению поля
В строку Условие отбора вводится критерий с шаблонами. В качестве шаблона используются символы:
Вопросительный знак ( ? ) – для любого символа в тексте.
Например: ию?ь для выбора данных, содержащих и июнь, и июль.
Звездочка ( * ) – для любой группы символов.
Примеры:
Ив*ов для выбора Иванов, Иванков, Иванников;
в начале текста – *й для отбора таких данных: 128й, Последний и т.д.
Знак фунта (#) – для любой цифры.
Например, по условию: #-й будут выведены значения и 5-й, и 8-й и т.д.
Примечание.
При вводе условия указанным выше образом Access добавляет слово Like (подобно) и заключает условие в кавычки или в символы #.
Например, ввод с клавиатуры: С*, Access воспринимает как: Like "С*".
Выбор по сравнению значений одного поля
В запросах этого вида используются операции сравнения (>, <, =, <= ,>= ,<>), которые можно применять к полям любого типа.
Примеры:
Вывести список продавцов, чьи фамилии, стоят в алфавитном порядке раньше, чем Сидорова:
Поле:
ФИО продавца
Условие отбора:
< "Сидорова"
Список товаров ценой не менее 1000 рублей:
Поле:
Название товара
Цена товара
Условие отбора:
>=1000
Названия товаров, проданных на сегодняшний день:
-
Поле:
Название товара
Дата продажи
Условие отбора:
< Date()
Примечания.
Нельзя операцию сравнения использовать совместно с шаблонами.
Текущая дата – встроенная функция Date(), см. пример 3.
Запросы с использованием логических операций (И, ИЛИ, НЕ)
Логическое умножение – И (совместное выполнение условий):
интервал значений одного поля состоит из двух операций сравнения, объединённых оператором AND.
Примеры:
1. Числовой интервал: Вывести список товаров, цена которых от 100 до 500 рублей включительно:
-
Поле:
Название товара
Цена товара
Условие отбора:
>=100 AND <= 500
2. Диапазон дат: Список товаров, проданных с 1.07.05 по 1.09.05:
-
Поле:
Название товара
Дата продажи
Условие отбора:
Between #01.07.05# And #01.09.05#
3. Диапазон строковых данных:
Список продавцов, фамилии которых начинаются с Д по К:
-
Поле:
Фамилия И.О.
Условие отбора:
Like “[ Д-К]*”
объединить критерии разных полей – указать условия отбора в разных полях одной строки Условия отбора.
Пример: Вывести список товаров, проданных до сегодняшнего дня, ценою более 500 рублей:
-
Поле:
Название товара
Цена товара
Дата продажи
Условие отбора:
>500
< Date()
Примечание. Все критерии, заданные в разных полях, объединяются с помощью операции логического умножения.
Поэтому запрос а) можно выполнить и таким образом:
-
Поле:
Название товара
Цена товара
Цена товара
Условие отбора:
>=100
<= 500
Логическое сложение – ИЛИ (выполняется хотя бы одно из условий):
если ИЛИ применяется в одном поле, то используется оператор OR .
Пример: Вывести список самых дорогих товаров (больше 500р.) и самых дешёвых товаров (меньше 100р.):
-
Поле:
Название товара
Цена товара
Условие отбора:
< 100 OR > 500
если выбор делается либо по одному, либо по другому полю, или по нескольким полям, то условия указываются в одной или нескольких строках ИЛИ запросного бланка.
Пример: Вывести список самых дешёвых товаров (меньше 100р.) или поступивших после заданной даты (1.07.04):
-
Поле:
Название товара
Цена товара
Условие отбора:
< 100
или
< 1.07.04
Примечание. Все критерии, заданные в разных строках, объединяются с помощью операции логического сложения. Поэтому запрос а) можно выполнить и таким образом:
-
Поле:
Название товара
Цена товара
Цена товара
Условие отбора:
>500
или
< 100
Логическое отрицание – НЕ:
Если нужно выбрать все записи, кроме заданной, то используют
операцию not.
Пример: Составить список импортных товаров:
-
Поле:
Название товара
Изготовитель
Условие отбора:
not "Россия"
Этот же результат можно достичь с помощью операции сравнения –
< > (не равно).
Примечания.
Проследить, чтобы в строке «Вывод на экран» флажок был отображён галочкой.
Для редактирования запросного бланка можно вернуться в режим создания, нажав крайнюю левую кнопку меню - Вид или Конструктор запроса в меню Вид.
При необходимости не забывать сохранять запросы для последующего использования, присваивая имена, отражающие смысл запросов.