- •Реализация баз данных в msaccess
- •Содержание
- •Введение
- •Основные понятия бд. Запись, поле, атрибут, первичный ключ, кодирование.
- •Многотабличная база. Разбиение, типы связей.
- •Работа с реляционными базами. Нормализация.
- •IV.1. Первая нормальная форма (1нф)
- •IV.2. Вторая нормальная форма (2нф)
- •IV.3. Третья нормальная форма (3нф)
- •IV.4. Нормальная форма Бойса-Кодда (бкнф)
- •IV.5. Четвертая нормальная форма (4нф)
- •Стадии проектирования базы данных для реализации в сурбд ms access
- •Реализация. Структура главного окна ms access
- •Несколько баз данных одновременно открыть нельзя!
- •Связывание таблиц
- •Создание и удаление связей между открытыми таблицами не допускается.
- •Корректировка структуры таблицы
- •Режим заполнения таблицы. Ввод и редактирование записей
- •Первой заполняется главная таблица !
- •Не редактируются поля типа Счетчик, вычисляемые и блокированные поля.
- •Построение форм
- •Поиск и замена данных, установка фильтров, сортировка
- •XI .1. Поиск данных по одному полю
- •XI .2. Поиск и замена данных
- •XI .3. Поиск данных с помощью фильтра
- •XI .4. Сортировка
- •Создание запросов
- •XII.1 Создание простого запроса
- •Создание запросов по критериям
- •XIII.1. Запрос по критерию точного совпадения (точного несовпадения)
- •XIII.2. Запрос по нескольким критериям
- •XIII.3. Запрос с параметром
- •XIII.4. Вычисляемые поля в запросах
- •Результаты вычислений нельзя редактировать!
- •XIII.5. Выражения для даты и времени
- •XIII.6. Использование условий выбора при вычислениях
- •Итоговые запросы. Групповые операции
- •XIV.1. Вычисление суммы величин
- •XIV.2. Вычисление процентов
- •XIV.3. Вычисление максимального и минимального значений поля
- •Запросы действия (модифицирующие запросы)
- •XV.1. Запросы удаления
- •Создание архивной таблицы
- •XV.2. Запросы добавления
- •XV.3. Запросы обновления
- •Отчеты по запросам
- •Создание отчета по практике
- •Литература
Создание запросов по критериям
XIII.1. Запрос по критерию точного совпадения (точного несовпадения)
Запросы могут создаваться по одному или нескольким критериям. Рассмотрим запрос , в котором условие отбора – точное совпадение со значением в поле. Создадим запрос о запчастях к ВАЗ_091, находящихся на складах, поместим в этот запрос количество и поставщиков. Назовем этот запрос «Запчасти ВАЗ_091». Для этого:
В окне базы данных перейдем на вкладку «Запросы» и нажмем Создать.
В открывшемся диалоговом окне выберем опцию Конструктор и нажмем ОК.
ACCESS предложит выбрать таблицу или ранее созданный запрос. Выберем таблицы «Поставщики» и «Детали». Откроется окно конструктора запросов. Отберем поля «Узел_авто», «Номер_склада», «Количество», «Узел_авто», но в поле «Узел_авто» снимем флажок вывода на экран.
В поле «Узел_авто» в разделе «Условие отбора» зададим «ВАЗ_091». Это точное совпадение условия отбора со значением в поле. Если нужно точное несовпадение, то перед условием пишется оператор NOT или <>.
Запустим запрос на выполнение. Получим таблицу
-
Запрос2
Узел_авто
Номер_склада
Количество
Наименование
амортизатор
5
6
Фрегат
коробка передач
6
7
Транзит-1
двигатель
1
200
Транзит-1
Сохраним запрос с именем «детали ВАЗ_091».
XIII.2. Запрос по нескольким критериям
В предыдущем пункте был рассмотрен пример точного совпадения критерия поиска со значением поля. В больших базах такая ситуация не всегда возможна, поэтому можно использовать условие неточного совпадения применив оператор Like, который определяет, начинается символьное значение с одного или нескольких символов. С этим оператором могут использоваться подстановочные символы, когда неизвестен знак в шаблоне поиска :
? любой один знак
* нуль или более знаков
# любая одна цифра
[список знаков] любой один знак в списке
[!список знаков] любой один знак , не входящий в список
В список знаков особые символы (?,*, #, [) можно включать, заключив их в квадратные скобки.
Например, для поиска фирм, чье название включает Днепр, в строке Условие отбора поля «Наименование»напишем:
Like Днепр*
Для задания диапазона значений в списке знаков ставится разделитель ( - ).
Для создания запроса «Детали, поставленные до 1.01.04 г. и количеством от 10 до 30”:
В окне базы данных перейдем на вкладку «Запросы» и нажмем Создать.
В открывшемся диалоговом окне выберем опцию Конструктор и нажмем ОК.
Выберем таблицу «Детали» .
Выберем поля Узел_авто, Основание, Оборот и перенесем их в бланк запроса.
В поле «Дата_поступления» зададим в строке Условие отбора <#01.01.04# (даты в ACCESS выделяются с обеих сторон #).
Для задания условия от 10 до 30 используем функцию Between, которая определяет, входит ли число в заданный диапазон значений. В поле «Количество» в строке Условие отбора запишем:
Between 10 AND 30
Если выражения отбора сложные, то воспользуйтесь кнопкой «Построитель выражений».
Запустим запрос на выполнение. Получим таблицу
Запрос2 | ||
Узел_авто |
Дата_поступления |
Количество |
кузов |
12.05.2000 |
25 |
амортизатор |
14.06.2002 |
13 |
8. Сохраним запрос с именем «Детали до 01_01_04».