
- •Розділ 5. Системи керування базами даних
- •Лекция 1. Основные понятия баз данных
- •Создание базы данных
- •Создание таблиц в режиме таблицы
- •Создание таблиц с помощью Мастера
- •Создание таблицы в окне Конструктора
- •Свойства полей
- •Тема 2. Поиск и замена данных Поиск данных
- •Замена данных
- •Сортировка данных
- •Экспорт и импорт таблиц из одной б/д в другую
- •Изменение количества отображаемых столбцов
- •Фиксация столбцов таблицы
- •Тема 3. Фильтрация данных
- •Фильтр по выделенному
- •Команда Изменить фильтр
- •Тема 4. Создание запросов
- •Создание запросов с помощью мастера.
- •Окно Конструктора запросов
- •Встроенные функции
- •Тема 5. Формы
- •Настройка формы
- •Размещение текстовой информации
- •Размещение полей ввода
- •Изменение порядка обхода объекта
- •Создание кнопок управления
- •Добавление рисунка в форму
- •Построение диаграмм
- •Тема 6. Особенности проектирования многотабличных баз данных
- •Проектирование нормализованной базы данных
- •Первая нормальная форма таблицы
- •Вторая нормальная форма
- •Третья нормальная форма таблицы
- •Определение связей между таблицами
- •Связывание двух полей одной таблицы
- •Изменение структуры таблицы в окне Схема данных
- •Определение условий целостности данных
- •Тема 7. Многотабличные запросы
- •Запросы к связанным таблицам с отношением "один-к-одному"
- •Запросы к связанным таблицам с отношением "один-ко-многим"
- •Запросы к связанным таблицам с отношением "многие-ко-многим"
- •Внешние соединения
- •Тема 8. Итоговые запросы
- •Задание условий выборки в итоговых запросах
- •Группировка полей запроса
- •Тема 9. Параметрические запросы
- •Тема 10. Перекрестные запросы
- •Тема 10. Модификация данных с помощью запросов-действий
- •Запрос на удаление
- •Выполнение запроса-обновления
- •Вставка данных из другой таблицы
- •Создание новой таблицы с помощью запроса
- •Тема 11. Создание подчиненной формы. Многостраничные формы
- •1 Способ
- •2 Способ
- •Создание многостраничных форм
- •Тема 12. Расширенные средства ввода данных. Создание подчиненных форм
- •Тема 13. Создание главной кнопочной формы
- •Расположение информации в области данных в 2 колонки
- •Создание почтовых наклеек
- •Тема 14. Создание главной кнопочной формы
- •Использование мастера для создания отчета
- •Кредит 400
- •Создание отчета типа “электронная таблица”
Тема 4. Создание запросов
Запрос по образцу – это интерактивное средство для выбора данных из одной или нескольких таблиц. Для создания запроса достаточно заполнить бланк запроса, который располагается в окне конструктора запросов.
Результат запроса называется выборкой. Выборка не сохраняется в вашей базе данных. Она создается заново при выполнении запроса и уничтожается при его закрытии.
Создание запросов с помощью мастера.
Для создания запроса с помощью мастера нужно:
Перейти во вкладку запросы и выбрать кнопку Создать/Простой запрос;
Из предложенного списка выбрать нужные для запроса поля таблицы;
Выбрать тип запроса: подробный (вывод каждого поля, каждой записи) или итоговый. Во втором случае можно определить функции для подсчета итогов: SUM, AVG, MIN, MAX.
ПРЕИМУЩЕСТВОМ Мастера является возможность получения результата при минимуме значений о механизме его получения. Однако Мастер не позволяет задать условия выборки.
Окно Конструктора запросов
Для вызова конструктора Запросы/Создать/Конструктор.
Access предложит выбрать таблицу или запрос, на основе которого будет осуществляться выборка (нужно выбрать и Добавить).
Запрос 1: запрос на выборку. |
|||
Схема данных
Бланк-запрос книга
Фамилия Имя Отчество
|
|||
Поле |
|
|
|
Имя таблицы |
|
|
|
Сортировка |
|
|
|
Вывод на экран |
|
|
|
Условия отбора |
|
|
|
или |
|
|
|
В бланке запроса каждая строка выполняет определенную функцию:
Поле. В этой строке помещаются те поля, которые используются для создания запроса;
Имя таблицы – показывает из какой таблицы выбрано данное поле;
Сортировка – указывает тип сортировки информации, возвращаемой в запросе (от А до Я или от Я до А);
Вывод на экран – определяет, выводить ли данное поле в результатах выборки;
Условия отбора – в этой строке задаются критерии поиска.
Добавление полей в бланк запроса
В MS Access существует два варианта выбора полей результирующей таблицы:
Для добавления полей можно:
Выбрать поле таблицы на схеме данных и дважды нажать кнопку мыши. Выбранное поле будет вставлено в следующий доступный столбец в строке Поле бланка запроса. В строке Имя таблицы сразу же появится имя таблицы и позиция Вывод на экран будет помечена.
-
Телефонно-адресная
Фамилия
Имя
Отчество
Поле
Фамилия
Имя таблицы
Телефон-Адрес
Сортировка
Вывод на экран
Механизм перенести и оставить. То есть, в таблице в схеме данных выделить поле и мышью перетащить его в бланк запроса. Чтобы выделить несколько полей таблицы, используются клавиши Ctrl и Shift.
В некоторых случаях необходимо выбрать все поля исходной таблицы. Для этого можно использовать значок *, стоящий первым в списке полей таблицы. Его можно перетащить в бланк запроса любым из 2-х способов. При этом в строке Поле будет имя:
Тел-адр. книга.*
что означает, что выбраны все поля таблицы.
У данного метода есть преимущество по сравнению с методом последствием перетаскивания всех полей таблицы в бланк запроса. Если в таблицу Тел.-адр.кн. вы добавите еще поле, то и в запросе оно будет присутствовать.
Для удаления:
отдельного поля из бланка запроса нужно выделить столбец и Delete.
всех полей – Правка/Очистить бланк.
Для сортировки результатов выборки нужно в бланке запроса в строке сортировка указать сортировки. Для сортировки по нескольким полям нужно, чтобы поля сортировки находились рядом последовательно.
Для запуска запроса применяется кнопка Запуск или кнопка Вид.
Данный запрос можно сохранить (Файл/Сохр. Как экспорт/в тек. Базе данных/Имя).
Например, показать всех клиентов, живущих в России:
Поле |
Фамилия |
Имя |
Страна |
Имя поля |
Тел.адр.кн |
Тел.-адр.кн |
|
Сортировка |
|
|
|
Вывод на экран |
|
|
|
Условие отбора |
|
|
«Россия» |
или |
|
|
|
Для задания в запросах сложных логических выражений в поле Условие отбора можно использовать построитель выражений ( …., поставив курсор в усл. отбора нужного поля).
Если в первом окне мы открываем папку Таблицы, то выводится весь список таблиц.
Таблицы
Заказы
Клиенты
В
ыделение
имени любой из таблиц откроет в следующем
окне список полей данной таблицы
Показать все заказы, которые были выполнены в ближайшие 10 дней:
-
Поле
Ф.И.О.
Заказано
Дата
…
…
…
…
between dateadd ("d"; -10; date ()) and date ()
Примеры задания условий в запросах:
-
в первые 5 дней любого месяца
- в последний день каждого месяца
-
in (1;3;5)
day ([Дата])month ([Дата])
31
1 or 3 or 5 or 7
30
4 or 6…
28
2
- right ([Код заказа], 2) = "99" - код заказа заканчивается на 99;
- left ([Телефон], 3) = 777 – начинается на 777;
- Len ([Фамилия]) > val (10) – фамилия > 10 символов;
- < date () – 20 – ранее, чем на 20 дней назад;
- between dateadd ("d"; - 3; Date ()) and Date () - в ближайшие 3 дня
- between date () and dateadd ("m"; 3; отобразить заказы, исполнение которых от текущей даты до 3-х месяцев вперед;
- dateadd ("d"; 3; 01.01.99) – на 3 дня вперед;
- dateadd ("d"; -3; 01.01.99) – вернет 31.12.98;
- year ([Дата заказа]) = year (date) and month ([Дата заказа]) = month (date ());
- dateadd ("m"; - 2; Date ()) – дата 22.12.00
- dateadd ("d"; -17; Date ()) – 05.02.01.
Для полей, допускающих пустые значения:
is NULL - пустые поля;
is not NULL – те строки, в которых есть какие-либо значения.
Использование операторов or и and:
1) одно поле с or
-
Поле
Город
…
…
Усл. отбора
Москва
Или
Украина
2) одно поле с and
-
Поле
Город
…
…
Усл. отбора
"Москва" and "Днепропетровск"
3) два поля с or:
-
Поле
Город
Страна
…
…
…
Усл. отбора
Днепропетровск
Или
Украина
4) два поля с and:
-
Поле
Город
Страна
…
…
…
Усл. отбора
Днепропетровск
Украина
5) три поля с and и or:
-
Поле
Город
Страна
Национальность
…
…
…
…
Усл.
Днепропетровск
Украина
Россия
Украинец