- •Базы данных (бд) и системы управления базами данных (субд).
- •Часть 1
- •Введение
- •Глава 1. Создание редактирование и просмотр бд
- •1. Создание новой бд
- •2. Создание таблиц бд
- •2.1. Формирование структуры таблицы (макета)
- •2.2. Ввод и редактирование данных в таблицах Переход в режим ввода
- •4. Создание полей специального вида
- •4.1. Создание поля, заполняемого значениями из фиксированного списка
- •Технология создания поля со списком в таблице в режиме Конструктора
- •4.2. Создание полей подстановки
- •Технология создания полей подстановки
- •4.3. Связывание таблиц
- •Типы связей между таблицами
- •Редактирование связей между таблицами
- •Примеры использования Обычного фильтра
- •Контрольные вопросы
- •Глава 2. Запросы к бд
- •Общие положения
- •Структура бланка запроса
- •Создание запроса
- •2.2. Выполнение и сохранение запроса
- •3. Параметрический запрос
- •4. Вычисляемые поля в запросах
- •Порядок формирования поля Год
- •5. Групповые операции в запросах
- •Подготовка бланка для выполнения групповых операций
- •Контрольные вопросы
- •Список рекомендуемой литературы
Структура бланка запроса
Рис 2.1
Поле |
Указать имена полей, участвующих в запросе |
Имя таблицы |
Указать имена таблиц, которым принадлежат эти поля |
Сортировка |
Указать вид сортировки, для полей, по которым она выполняется |
Вывод на экран |
Можно отметить поля, выводимые на экран |
Условие отбора |
Ввести условие поиска |
или |
|
Создание запроса
2.1. Формирование запроса в режиме конструктора.
Порядок:
- перейти на вкладку Запросы;
- кнопка Создать;
- выбрать режим: Конструктор;
- выбрать имена таблиц, участвующих в запросе (например таб.1, кнопка Добавить)
- закрыть окно Добавление таблицы;
- сформировать бланк запроса.
Формирование (выбор) полей, участвующих в запросе.
- двойной щелчок Лев. кнопкой мыши
или
- выделить и перетащить (для выделения нескольких полей выделить первое и последнее с клавишей Shlft).
Редактирование состава полей.
а) Удаление поля
- щелчок над столбцом поля (выделение поля) (Рис. 3.10)
- Кнопка Del или кнопка Вырезать.
-
Поле
Наименование
Изменение следования полей в бланке
Порядок:
- выделить столбец;
- подвести курсор;
- нажать левую клавишу мыши и перетащить.
(Появляется вертикальная линия, указывающая где разместится перетаскиваемое поле).
Задание вывода значений поля в ответе на запрос
|
|
|
Вывод на экран |
- выводить - не выводить
|
|
|
|
|
Сортировка вывода
|
|
|
Сортировка |
По возрастанию По убыванию |
|
|
|
|
Можно сортировать сразу по нескольким полям. Приоритет у левого поля.
Формирование критериев отбора
Критерий отбора – это совокупность логических условий на одно или несколько полей, записываемая в строке Условие бланка запроса (+ в строке ИЛИ).
Логические условия для нескольких полей, записанные в одной строке бланка запроса, объединяются логической операцией И (AND).
Логические условия для нескольких полей, записанные в разных строках бланка запроса, объединяются логической операцией ИЛИ (OR).
Примеры формирования критериев отбора
Таблица «Товар»
Код товара |
Наименование |
Дата изготовления |
Количество |
5 |
Дисплей |
21.10.1999 |
5 |
6 |
Принтер |
15.07.1998 |
10 |
7 |
ПК-333 |
10.08.2000 |
3 |
Формирование условия зависит от типа поля.
а) Числовые поля
Пример 1: Сформировать условие поиска
Количество = 5
Поле |
Количество |
|
… |
… |
|
Условие |
5 |
|
Пример 2: Сформировать условие поиска
Количество > 3
Поле |
Количество |
|
… |
… |
|
Условие |
> 3 |
|
Пример 3: Сформировать условие поиска
Количество < 3 или > 5
Поле |
Количество |
|
… |
… |
|
Условие |
< 3 |
|
или |
> 5 |
|
Пример 4: Сформировать условие поиска
3 < Количество < 5
Решение 1 Решение 2
Поле |
Количество |
|
|
Поле |
Количество |
|
… |
… |
|
|
… |
… |
|
Условие |
> 3 and < 5 |
|
|
Условие |
Between 3 and 5 |
|
б) Текстовые поля
Пример 1. Сформировать условие поиска записей о товарах с наименованием Дисплей:
Решение: После выполнения бланк изменится:
Поле |
Наименование |
|
|
Поле |
Наименование |
|
… |
… |
|
|
… |
… |
|
Условие |
Дисплей |
|
|
Условие |
Like «Дисплей» |
|
Like – найти запись в поле, подобную образцу в кавычках.
Запуск на выполнение кнопка красного цвета.
Пример 2. Сформировать условие поиска записей о товарах с наименованием Дисплей или Принтер:
Решение 1: Решение 2:
Поле |
Наименование |
|
|
Поле |
Наименование |
|
… |
… |
|
|
… |
… |
|
Условие |
Дисплей |
|
|
Условие |
In (Дисплей; Принтер) |
|
или |
Принтер |
|
|
или |
|
|
Пример 3. Сформировать условие поиска записей о товарах, наименование которых не совпадают с Дисплей или Принтер:
Поле |
Наименование |
|
… |
… |
|
Условие |
Not In (Дисплей; Принтер) |
|
Пример 4. Сформировать условие поиска записей о товарах, наименование которых начинается с символа Д:
Поле |
Наименование |
|
|
* - любое количество произвольных |
||
… |
… |
|
|
символов |
|
|
Условие |
Д* |
|
|
|
|
|
Пример 5. Сформировать условие поиска записей о товарах, наименование которых состоит из трех символов, начинается с символа Т и заканчивается символом П:
Поле |
Наименование |
|
|
? - любой одиночный символ; |
||
… |
… |
|
|
# - любая цифра |
|
|
Условие |
Т?П |
|
|
|
|
|
Пример 6. Сформировать условие поиска записей о товарах, наименование которых не совпадают с наименованием Дисплей:
Поле |
Наименование |
|
… |
… |
|
Условие |
Not Дисплей |
|
Пример 7. Сформировать условие поиска записей о товарах, наименование которых начинается с символов от П до Я:
Поле |
Наименование |
|
… |
… |
|
Условие |
>=П |
|
в) Поиск записей, содержащих пустые поля.
Пример 1. Сформировать условие поиска записей о товарах с пустым значением поля Количество:
Поле |
Количество |
|
… |
… |
|
Условие |
Is Null |
|
Пример 2. Сформировать условие поиска записей о товарах с не пустым значением поля Количество:
Поле |
Количество |
|
… |
… |
|
Условие |
Not Is Null |
|
г) Поля типа Дата.
При формировании условия отбора используются встроенные функции:
- Date () – текущая дата (по встроенным часам компьютера);
- DateAdd (« interval»; «number»; «date») – выполняет добавление к параметру «date» заданного числа единиц (параметр «number» со знаком + или – в виде, который указан в параметре «interval»):
М – месяц
YYYY – год
Q – квартал
WW – неделя
- Year («number») – выделяет из поля «number» (это поле типа Дата) год в виде целого значения.
Примеры
Пример 1. Сформировать условие поиска записей о товарах с датой изготовления после 01.10.1996:
Решение: После выполнения бланк изменится:
Поле |
Дата изготовления |
|
|
Поле |
Дата изготовления |
|
… |
… |
|
|
… |
… |
|
Условие |
>01.10.1996 |
|
|
Условие |
>#01.10.1996# |
|
Пример 2. Сформировать условие поиска записей о товарах с датой изготовления во втором квартале 1996 года:
Решение 1: Решение 2:
Поле |
Дата изготовления |
|
|
Поле |
Дата изготовления |
|
… |
… |
|
|
… |
… |
|
Условие |
>=01.10.1996 and <=30.06.1996 |
|
|
Условие |
Between 01.10.1996 and 30.06.1996 |
|
Примечание: условие записывается в одной строке.
Пример 3. Сформировать условие поиска записей о товарах с датой изготовления в 1996 году:
Поле |
Дата изготовления |
|
… |
… |
|
Условие |
Year ([Дата изготовления])=1996 |
|
Пример 4. Сформировать условие поиска записей о товарах с датой изготовления за три месяца от текущего:
Поле |
Дата изготовления |
|
… |
… |
|
Условие |
Between Date() and DateAdd(“m”;-3;Date()) |
|