
- •Рязанский государственный радиотехнический университет
- •Учебно-методический комплекс по дисциплине сд.Р.06 «инфорационные сети, базы данных»
- •653700 «Приборостроение»
- •200106 – «Информационно-измерительная техника и технологии»
- •Работа № 1 работа с базами данных и таблицами.
- •2.1 Разработка таблицы "Персональные мероприятия"
- •2.2 Разбиение информации но полям.
- •2.3 Создание таблицы "Персональные мероприятия"
- •2.4 Определение значения по умолчанию для поля.
- •3.1. Отношения между таблицами.
- •4.1 Выбор ключа таблицы
- •4.2 Индексирование таблицы.
- •5.3 Изменение свойств полей и связей между таблицами.
- •5.4 Изменение связей между таблицами
- •Лабораторная работа №2. Добавление, изменение и проверка корректности данных в таблицах.
- •Цель работы
- •Домашнее задание.
- •Лабораторная работа № 3 Сортировка, поиск и фильтрация данных в таблицах
- •Сортировка таблицы по значению одного поля.
- •Сортировка таблицы по значению нескольких полей
- •Поиск записей по значению поля.
- •Отбор данных при помощи фильтров
- •Фильтр по выделенному фрагменту.
- •Обычный фильтр.
- •Расширенный фильтр и расширенная сортировка
- •Добавление сортировки по нескольким столбцам и составного критерия отбора
- •Сохранение и загрузка фильтра в качестве запроса
- •1. Создание простого запроса
- •2. Добавление полей в запрос.
- •3. Задание условия отбора и порядка сортировки результатов запроса
- •4. Создание более сложных запросов
- •5. Изменение полей таблицы при помощи запроса
- •6. Изменение заголовков полей в запросе
- •7. Сохранение запросов
- •Создание запросов других видов
- •8. Использование простых запросов на создание таблиц
- •9. Добавление параметра к запросу
- •10. Преобразование запросов по образцу в запросы на языке sql
- •Лабораторная работа № 5 запросы по нескольким таблицам и перекрёстные запросы
- •1. Соединение таблиц для создания многотабличного запроса
- •1.1 Создание внутреннего соединения по одному полю
- •1.2. Определение порядка сортировки результатов запроса
- •1.3. Создание запросов на выборку данных из таблиц с косвенными связями
- •1.4. Создание внутреннего соединения по нескольким полям
- •2. Использование полей подстановок
- •2.1 Добавление списка, задающего значение внешнего ключа, при помощи Мастера подстановок
- •2.2 Добавление списка постоянных значений к полю таблицы
- •Введите строку 03-94, чтобы вывести данные для марта 1995 года (рис. 10.51).
- •Нажмите кнопку ок для вывода результирующего множества запроса(рис.52).
Расширенный фильтр и расширенная сортировка
Фильтрация данных в Access выполняется, в конечном счете, на уровне запросов. Создание и применение расширенного фильтра и расширенной сортировки данных очень похоже на использование запроса. Тем не менее, существуют некоторые отличия. Основными отличиями между окном фильтра и окном запроса являются:
При создании фильтра не появляется диалоговое окно "Добавить
таблицу" (Show table)
На панели инструментов не появляется кнопка "SQL"
В бланке фильтра отсутствует строка "Показывать" (Show)
Использование фильтра при отборе данных ограничивается тем, что при помощи фильтра можно отобрать записи только из одной таблицы. Фильтр (точнее говоря, критерий фильтра) можно сохранить только как запрос. В следующих разделах описано использование расширенного фильтра и расширенной сортировки, а также сохранение фильтра в качестве запроса.
Добавление сортировки по нескольким столбцам и составного критерия отбора
Чтобы создать расширенный фильтр или расширенную сортировку, выберите команду "Записи, Фильтр, Расширенный фильтр" На панели инструментов нет кнопки, эквивалентной этой команде. Чтобы создать фильтр для таблицы "Заказы" демонстрационной базы данных Борей:
1. Откройте таблицу "Заказы" в режиме таблицы.
2. Выберите команду "Записи, Фильтр, Расширенный фильтр". Появится окно расширенного фильтра (рис.18). По умолчанию фильтру присваивается имя "Фильтр!", а в качестве префикса используется имя таблицы. Поэтому наш фильтр получит имя "ЗаказыФильтр1". В нижней части окна расширенного фильтра появляется бланк фильтра, в котором можно указать критерий отбора.
3. Чтобы отсортировать значения поля таблицы или задать для него критерий отбора, перетащите его из списка полей таблицы, который находится в верхней части окна расширенного фильтра в бланк фильтра. Например, чтобы задать параметры сортировки или критерий отбора для поля "КодЗаказа", перетащите его в первую ячейку строки "Поле" (Field) бланка таблицы. При перетаскивании имени поля из списка в верхней части окна расширенного фильтра в бланк фильтра, указатель мыши превращается в символ поля.
4. Повторите шаг 3 для всех полей таблицы, для которых необходимо определить критерий отбора или параметры сортировки. Для таблицы "Заказы" такими полями могут быть, например, поля "КодКлиента", "АдресПолучателя", "СтранаПолучателя", "ИндексПолучателя".
5. Установите параметры сортировки значений полей "СтранаПолучатёля" и "ИндексПолучателя", чтобы проверить возможности расширенной сортировки (рис.19).
Рис. 19. Установка параметров расширенной сортировки
6. Выберите команду "Фильтр, Применить фильтр" или нажмите кнопку "Применить фильтр" на панели инструментов.
7. Таблица будет отсортирована по значениям полей "Страна получателя" и "Индекс получателя"
Рис. 20. Таблица "Заказы" после применения расширенной сортировки
8. Выберите команду "Записи, Фильтр, Расширенный фильтр", чтобы открыть окно расширенного фильтра. Заметьте, что в бланке расширенного фильтра сохранились все установки, сделанные ранее.
9. Чтобы произвести отбор записей, относящихся к заказам, в которых страной-получателем является США, введите в ячейку, находящуюся на пересечении строки "Условие отбора" и столбца "Страна получателя", слово США. Нажмите клавишу <Enter>. Access автоматически заключит введенную строку в кавычки.
10. Чтобы применить расширенный фильтр, выберите команду "Фильтр, Применить фильтр". В окне таблицы появятся только те записи, которые относятся к отправке товаров в США (рис.21)
Рис. 21. Отбор заказов клиентов из США
Использование сложных критериев отбора. Access позволяет определять сложные критерии отбора записей из таблиц при помощи расширенного фильтра. Сложные критерии отбора помогают производить фильтрацию записей таблицы данных по значениям нескольких полей. Например, чтобы вывести в окне таблицы все заказы из стран Северной Америки, полученные не ранее 01/01/94:
1. Выберите команду "Записи, Фильтр, Расширенный фильтр". Появится окно расширенного фильтра.
2. Введите Канада в качестве второго критерия отбора для поля "СтранаПолучателя", нажмите клавишу <Enter>, а затем введите Мексика в качестве третьего критерия. При добавлении нескольких критериев отбора для одного поля они группируются при помощи оператора "ИЛИ". Это эквивалентно использованию оператора or языка SQL.
3. Введите >=#l/l/94# в качестве первого критерия отбора для поля "ДатаРазмешения". Если в одной строке бланка фильтра определено несколько критериев отбора, то они группируются при помощи оператора "И". Это эквивалентно использованию оператора and языка SQL. Таким образом, первую строку критериев отбора можно интерпретировать так: отобрать все заказы из США, поступившие не ранее 01/01/94. Символы # указывают на то, что значение, заключенное в них, имеет тип "Дата/Время".
4. Нажмите клавишу <F2>, чтобы выделить критерий отбора, определенный на шаге 3, нажмите комбинацию клавиш <Ctrl>+<С>, чтобы скопировать выделенный фрагмент в Буфер обмена Windows. Переместите точку вставки в следующую ячейку столбца "ДатаРазмешения" и нажмите комбинацию клавиш <Ctrl>+<V>. Теперь при фильтрации таблицы будет учитываться ограничение по времени поступления заказов из Канады. Повторите шаг 4, чтобы добавить ограничение по времени для заказов из Мексики. Бланк фильтра примет вид, показанный на рис.22. Необходимость повторения определения условия по времени для каждой страны вызвана ограничениями, накладываемыми на формирование запросов с помощью бланков.
Рис. 22. Определение сложного критерия отбора в бланке фильтра
5. Нажмите кнопку "Применить фильтр" на панели инструментов. Таблица "Запросы" будет отфильтрована с использованием сложного критерия отбора (рис. 6.23).
Результат фильтрации таблицы в приведенном примере аналогичен результату выполнения следующей инструкции языка SQL:
SELECT * FROM Orders
WHERE ([Ship Country] = 'USA'
OR [Ship Country] = 'Canada'
OR [Ship Country] = 'Mexico')
AND [Order Date] >= #1/1/94#
ORDER BY [Ship Country], [Ship Postal Code]
Рис. 6.23. Результат применения сложного критерия отбора
С помощью конструкции in инструкция SQL может быть еще более упрощена:
SELECT * FROM Orders
WHERE [Ship Country] IN ('USA', 'Canada', 'Mexico')
AND [Order Date] >= #1/1/94#
ORDER BY [Ship Country], [Ship Postal Code]1
Ни одна из вышеприведенных оптимизированных инструкций SQL не может быть сгенерирована Access автоматически из бланка фильтра.
Это ограничение объясняется тем, что хотя бланк фильтра является универсальным средством задания условия фильтрации, он позволяет задавать условия только в определенной форме, а именно в так называемой дизъюнктивной нормальной форме.