Создание запроса с итоговыми суммами в microsoft access
Содержание:
- Запрос с параметрами
- Запросы в Access 2013 с помощью элементов формы
- ПримечанияRemarks
- Запросы в Access
- Расширенный перекрестный запрос
- Создание запроса с несколькими таблицами
- Формирование сложных запросов к готовой базе данных
- Запросы на выборку
- Создание запроса в режиме Конструктор.
- 2.4. Microsoft Access 2007
- Групповые операции (перекрёстные запросы в access)
Запрос с параметрами
Это еще одна разновидность сложной процедуры, которая потребует от пользователя определенных навыков работы с базами данных. Одним из главных направлений такого действия является подготовка к созданию отчетов с объемными данными, а также получение сводных результатов. Как создавать запросы в Access 2007 с помощью конструктора, будет рассмотрено ниже.
Начинать данную процедуру по выборке данных нужно с создания простого запроса, чтобы выбрать нужные поля. Далее через режим Конструктора обязательно нужно заполнить поле «Условие отбора» и, уже исходя из внесенного значения, будет осуществляться отбор.
Таким образом, на вопрос о том, как создать запрос с параметром в Access, ответ простой — внести исходные параметры для выборки. Чтобы работать с Конструктором необходимо пользоваться Мастером запросов. Там создается первичные данные для фильтрации, которые служат основой дальнейшей работы.
Запросы в Access 2013 с помощью элементов формы
Создание формы Пошук
Создадим пустую форму. Для этого выберем в меню вкладку Создание и кликнем на Пустая форма.
Получим форму в режиме макета. Кликнем правой кнопкой мышки по форме и выберем в контекстном меню Свойства формы (или Работа с макетами форм — Конструктор — Сервис — Страница свойств).
Справа появится Окно свойств. В выпадающем списке строки Источник записей вкладки Данные выберем Для форми пошуку
После этого в сервисе выберем Добавить поля. Окно свойств сменится на Список полей.
Добавим на форму следующие элементы (перетягивание мышкой из списка полей на форму):
Дата (дважды), Найменування клієнта, Адреса, Телефон, Рахунок, Найменування товару, Ціна (дважды), Кількість (дважды), Передоплата, Сума передоплати (дважды).
- Изменим надписи для даты, цены, количества и суммы предоплаты.
- Дата: → Дата з:
- Дата: → Дата по:
- Ціна: → Ціна від:
- Ціна: → Ціна до:
- Кількість: → Кількість від:
- Кількість: → Кількість до:
- Сума передоплати: → Сума передоплати від:
- Сума передоплати: → Сума передоплати до:
Выделим поле напротив надписи Дата з:. В инструментах конструктора форм выберем вкладку Конструктор. Откроем окно свойств для выделенного элемента (Сочетание клавиш ALT+ENTER; Конструктор — Сервис — Страница свойств или в контекстном меню выбрать Свойства)
В окне свойств перейдем на вкладку Другие и в строке Имя впишем Дата з
Перейдем на вкладку Данные и в строке Данные сотрем Дата
Аналогично поступим и с другими полями формы.
Дата по: вписываем имя Дата по в строке Имя вкладки Другие; очищаем строку Данные вкладки Данные; в строке Значение по умолчанию вписываем Date(); в строке Правило проверки впишем >#01.01.2010# и в строке Сообщение об ошибке — Введіть дату після 1 січня 2010 року!.
- Найменування клієнта:, Адреса:, Телефон:, Рахунок:, Найменування товару: очищаем строку Данные вкладки Данные.
- Ціна від: вписываем имя Ціна від в строке Имя вкладки Другие; очищаем строку Данные вкладки Данные; в строке Значение по умолчанию вписываем 1; в строке Правило проверки впишем >0 и в строке Сообщение об ошибке — Введіть суму > нуля!
- Ціна до: вписываем имя Ціна до в строке Имя вкладки Другие; очищаем строку Данные вкладки Данные; в строке Значение по умолчанию вписываем 1000 (можно вписать любое число, ориентируйтесь на максимальную цену); в строке Правило проверки впишем >0 и в строке Сообщение об ошибке — Введіть суму > нуля!
- Кількість від: вписываем имя Кількість від в строке Имя вкладки Другие; очищаем строку Данные вкладки Данные; в строке Значение по умолчанию вписываем 1; в строке Правило проверки впишем >0 и в строке Сообщение об ошибке — Введіть кількість > нуля!
- Кількість до: вписываем имя Кількість до в строке Имя вкладки Другие;очищаем строку Данные вкладки Данные; в строке Значение по умолчанию вписываем 1000 (можно вписать любое число, ориентируйтесь на максимальное количество); в строке Правило проверки впишем >0 и в строке Сообщение об ошибке — Введіть кількість > нуля!
- Передоплата: очищаем строку Данные вкладки Данные.
Сума передоплати від: вписываем имя Сума передоплати від в строке Имя вкладки Другие; очищаем строку Данные вкладки Данные; в строке Значение по умолчанию вписываем . ; в строке Правило проверки впишем >=0 и в строке Сообщение об ошибке — Введіть суму, яка більше або дорівнює нулеві!
Сума передоплати до: вписываем имя Сума передоплати до в строке Имя вкладки Другие; очищаем строку Данные вкладки Данные; в строке Значение по умолчанию вписываем 1000 (можно вписать любое число, ориентируйтесь на максимальную сумму предоплаты); в строке Правило проверки впишем >=0 и в строке Сообщение об ошибке — Введіть суму, яка більше або дорівнює нулеві!
Преобразуем поле Найменування клієнта в поле со списком (контекстное меню поля)
Выполним следующее: Окно свойств — Данные — Источник строк — … — Довідник клієнтів — Найменування клієнта — закрыть построитель запросов и подтвердить сохранение.
Аналогично преобразуем в поле со списком Найменування товару. В качестве источника выбрать Найменування товару.
В результате получим
Закроем и сохраним форму под именем Пошук
ПримечанияRemarks
Вы можете использовать вложенный запрос вместо выражения в списке полей оператора SELECT или предложении WHERE или HAVING.You can use a subquery instead of an expression in the field list of a SELECT statement or in a WHERE or HAVING clause. Во вложенном запросе вы используете оператор SELECT для предоставления набора одного или нескольких определенных значений для оценки в выражении для предложения WHERE или HAVING.In a subquery, you use a SELECT statement to provide a set of one or more specific values to evaluate in the WHERE or HAVING clause expression.
Используйте предикат ANY или SOME, которые являются синонимами, для получения записей в основном запросе, который удовлетворяет сравнению с любыми записями, полученными во вложенном запросе.Use the ANY or SOME predicate, which are synonymous, to retrieve records in the main query that satisfy the comparison with any records retrieved in the subquery. Следующий пример возвращает все продукты, для которых цена за единицу выше, чем у любого продукта, продаваемого со скидкой 25 процентов или более:The following example returns all products whose unit price is greater than that of any product sold at a discount of 25 percent or more:
Используйте предикат ALL для получения записей в основном запросе, который удовлетворяет сравнению со всеми записями, полученными во вложенном запросе.Use the ALL predicate to retrieve only those records in the main query that satisfy the comparison with all records retrieved in the subquery. Если вы изменили предикат с ANY на ALL в предыдущем примере, запрос будет возвращать только те продукты, у которых цена за единицу больше, чем у всех продуктов, проданных со скидкой 25 процентов или более.If you changed ANY to ALL in the previous example, the query would return only those products whose unit price is greater than that of all products sold at a discount of 25 percent or more. Это гораздо более строгое ограничение.This is much more restrictive.
Используйте предикат IN для получения только тех записей в основном запросе, для которых определенная запись во вложенном запросе содержит одинаковое значение.Use the IN predicate to retrieve only those records in the main query for which some record in the subquery contains an equal value. В примере ниже возвращаются все продукты со скидкой 25 процентов или больше:The following example returns all products with a discount of 25 percent or more:
С другой стороны, вы можете использовать NOT IN для получения только тех записей в основном запросе, для которых ни одна запись во вложенном запросе не содержит одинаковое значение.Conversely, you can use NOT IN to retrieve only those records in the main query for which no record in the subquery contains an equal value.
Используйте предикат EXISTS (с необязательным зарезервированным словом NOT) в сравнениях ИСТИНА/ЛОЖЬ, чтобы определить, возвращает ли вложенный запрос какие-либо записи.Use the EXISTS predicate (with the optional NOT reserved word) in true/false comparisons to determine whether the subquery returns any records.
Также можно использовать псевдонимы имени таблицы во вложенном запросе для ссылки на таблицы, указанные в предложении FROM за пределами вложенного запроса.You can also use table name aliases in a subquery to refer to tables listed in a FROM clause outside the subquery. Пример ниже возвращает имена сотрудников, чья заработная плата равна или выше средней заработной платы всех сотрудников на аналогичной должности.The following example returns the names of employees whose salaries are equal to or greater than the average salary of all employees having the same job title. Для таблицы «Сотрудники» присваивается псевдоним «T1»:The Employees table is given the alias «T1»:
В приведенном выше примере зарезервированное слово AS не является обязательным.In the preceding example, the AS reserved word is optional.
Некоторые вложенные запросы поддерживаются в перекрестных запросах, в частности, в качестве предикатов (например в предложении WHERE).Some subqueries are allowed in crosstab queries— specifically, as predicates (those in the WHERE clause). Вложенные запросы в виде выходных данных (в списке SELECT) не поддерживаются в перекрестных запросах.Subqueries as output (those in the SELECT list) are not allowed in crosstab queries.
Запросы в Access
Запросы в Access являются основным инструментом выборки, обновления и обработки данных в таблицах базы данных. Access в соответствии с концепцией реляционных баз данных для выполнения запросов использует язык структурированных запросов SQL (Structured Query Language). С помощью инструкций языка SQL реализуется любой запрос в Access.
Основным видом запроса является запрос на выборку. Результатом выполнения этого запроса является новая таблица, которая существует до закрытия запроса. Записи формируются путем объединения записей таблиц, на которых построен запрос. Способ объединения записей таблиц указывается при определении их связи в схеме данных или при создании запроса. Условия отбора, сформулированные в запросе, позволяют фильтровать записи, составляющие результат объединения таблиц.
В Access может быть создано несколько видов запроса:
- запрос на выборку — выбирает данные из одной таблицы или запроса или нескольких взаимосвязанных таблиц и других запросов. Результатом является таблица, которая существует до закрытия запроса. Формирование записей таблицы результата производится в соответствии с заданными условиями отбора и при использовании нескольких таблиц путем объединения их записей;
- запрос на создание таблицы — выбирает данные из взаимосвязанных таблиц и других запросов, но, в отличие от запроса на выборку, результат сохраняет в новой постоянной таблице;
- запросы на обновление, добавление, удаление — являются запросами действия, в результате выполнения которых изменяются данные в таблицах.
Запросы в Access в режиме конструктора содержат схему данных, отображающую используемые таблицы, и бланк запроса, в котором конструируется структура таблицы запроса и условия выборки записей (рис. 4.1).
С помощью запроса можно выполнить следующие виды обработки данных:
- включить в таблицу запроса выбранные пользователем поля таблицы;
- произвести вычисления в каждой из полученных записей;
- выбрать записи, удовлетворяющие условиям отбора;
- сформировать на основе объединения записей взаимосвязанных таблиц новую виртуальную таблицу;
- сгруппировать записи, которые имеют одинаковые значения в одном или нескольких полях, одновременно выполнить над другими полями группы статистические функции и в результат включить одну запись для каждой группы;
- создать новую таблицу базы данных, используя данные из существующих таблиц;
- произвести обновление полей в выбранном подмножестве записей;
- удалить выбранное подмножество записей из таблицы базы данных;
- добавить выбранное подмножество записей в другую таблицу.
Запросы в Access служат источниками записей для других запросов, форм, отчетов. С помощью запроса можно собрать полные сведения для формирования некоторого документа предметной области из нескольких таблиц, далее использовать его для создания формы — электронного представления этого документа. Если форма или отчет создаются мастером на основе нескольких взаимосвязанных таблиц, то для них в качестве источника записей автоматически формируется запрос.
Для закрепления смотрим видеоурок:
Расширенный перекрестный запрос
Продолжаем усложнять ситуацию. Еще труднее для понимания является информация о том, как создавать запросы в Access, если присутствует несколько таблиц с данными. Перекрестный запрос уже рассматривался выше, как один из вариантов работы с Мастером. Однако, и в режиме «Конструктора» можно создавать подобный запрос.
Для этого необходимо нажать «Конструктор запросов» — «Перекрестный».
Открывается меню добавления исходных таблиц, а также возможность заполнения выборочных полей
Единственное, на что следует обратить внимание, – пункты «групповая операция» и «перекрестная таблица». Их нужно заполнять правильно, иначе процедура не будет выполнена корректно
Перекрестные запросы – это наиболее простой способ поиска и выборки информации из нескольких источников данных, плюс с возможностью формирования диаграмм и графиков.
Более того, при использовании данной процедуры быстрее выполняется поиск, даже с несколькими вариантами развития.
Конечно, присутствуют и «подводные камни», которые могут помешать в работе. Например, при создании запроса на сортировку базы данных по значению столбцов система выдает ошибку. То есть доступна только сортировка по стандартным пунктам – «возрастание и убывание».
Создание запроса с несколькими таблицами
Теперь, когда мы запланировали наш запрос, мы готовы его спроектировать и запустить. Если вы создали письменные планы для своего запроса, обязательно обращайтесь к ним часто в процессе разработки запроса.
Чтобы создать запрос с несколькими таблицами:
- Выберите команду « Конструктор запросов» на вкладке « Создать » на ленте.
В появившемся диалоговом окне « Показать таблицу » выберите каждую таблицу, которую вы хотите включить в свой запрос, затем нажмите « Добавить» . После того, как вы добавили все нужные таблицы, нажмите « Закрыть» . Когда мы планировали наш запрос, мы решили, что нам нужна информация из таблицы Customers и Orders , поэтому мы добавим их.
Таблицы появятся в панели «Связывание объектов» , которая связана линией соединения . Дважды щелкните тонкий раздел линии соединения между двумя таблицами, чтобы изменить направление соединения.
Регистрация Свойства диалоговое окно. Выберите вариант, чтобы выбрать направление вашего соединения.
- Выберите вариант 2: для объединения слева направо . В нашем запросе левая таблица — таблица Customers , поэтому выбор этого означает, что все наши клиенты, которые соответствовали нашим критериям местоположения, независимо от того, разместили ли они заказ, будут включены в наши результаты. Мы не хотим выбирать этот вариант для нашего запроса.
- Выберите вариант 3: для запроса справа налево . Поскольку наш правильный стол является нашей таблицей Orders , выбор этого параметра позволит нам работать с записями для всех заказов и только для клиентов, разместивших заказы. Мы выберем этот вариант для нашего запроса, потому что это именно те данные, которые мы хотим видеть.
В окнах таблицы дважды щелкните имена полей, которые вы хотите включить в свой запрос. Они будут добавлены в дизайнерскую сетку в нижней части экрана.
В нашем примере мы будем включать большинство полей из таблицы Customers : имя , фамилия , адрес , город , штат , почтовый индекс и номер телефона . Мы также будем включать идентификационный номер из таблицы Orders .
Установите критерии поля , введя требуемые критерии в строке критериев каждого поля. Мы хотим установить два критерия:
- Во-первых, чтобы найти клиентов, которые не живут в Роли, мы будем вводить Not In («Raleigh») в поле City.
- Во-вторых, чтобы найти клиентов , которые имеют телефонный номер , начинающийся с кодом 919 , мы вводим Like ( «919 *») в номер телефона поле.
После того, как вы установили критерии, запустите запрос, нажав команду « Выполнить» на вкладке « Дизайн запросов ».
Результаты запроса будут отображаться в представлении Datasheet запроса , которое выглядит как таблица. Если вы хотите, сохраните запрос, нажав команду « Сохранить» на панели быстрого доступа. Когда появится запрос на его имя, введите нужное имя и нажмите «ОК» .
Новые статьи
- Проектирование собственной базы данных в Access — 21/08/2018 15:16
- Форматирование форм в Access — 21/08/2018 15:11
- Создание форм в Access — 21/08/2018 15:05
- Изменение таблиц в Access — 21/08/2018 14:58
- Дополнительные параметры отчета в Access — 21/08/2018 14:48
- Создание отчетов в Access — 21/08/2018 14:42
- Дополнительные параметры дизайна запроса в Access — 21/08/2018 14:36
Предыдущие статьи
- Сортировка и фильтрация записей в Access — 21/08/2018 04:37
- Работа с формами в Access — 21/08/2018 04:25
- MS Access — Работа с таблицами, создание, удаление, настройка внешнего вида — 20/04/2018 17:18
- MS Access — Управление базами данных и объектами — 30/03/2018 16:18
- Начало работы в Access. Знакомство с Access 2010 — 10/02/2018 18:24
- MS Access: Введение в объекты — Таблицы, формы, запросы и отчеты — 07/02/2018 08:32
- MS Access: Что такое база данных? Отличие Access от Excel. — 03/02/2018 18:18
Формирование сложных запросов к готовой базе данных
- Главная | Информатика и информационно-коммуникационные технологии | Планирование уроков и материалы к урокам | 8 классы | Планирование уроков на учебный год | Формирование сложных запросов к готовой базе данных
- Приобретаемые умения и навыки: — Формирование запросов с использованием логических операций.
- — Создание вычисляемых полей.
Задание 1 (однотабличная БД)
1. Открыть БД «Абитуриент.mdb»
Заготовка для практических работ по БД у авт. Семакина в формате для Access.mdb Base — Абитуриент.mdb
Открыть БД «Абитуриент.mdb»
Заготовка для практических работ по БД у авт. Семакина в формате для OO.org Base — Абитуриент.odb
Открыть БД «Абитуриент.odb»
2. Создать запрос для выбора фамилии, имени и школы для всех абитуриентов, окончивших школы 44 и 59.
3. Создать запрос для выбора всех абитуриентов, не учившихся на подготовительных курсах и получивших «двойку» на экзамене по математике или информатике (вывести все поля таблицы).
4. Создать запрос для выбора фамилии, даты рождения и всех оценок абитуриентов, получивших на экзаменах только «четвёрки» и «пятёрки».
5. Создать запрос для выбора фамилии и даты рождения юношей-абитуриентов, родившихся в 1990 году.
6. Создать запрос для выбора фамилии и всех оценок абитуриентов, набравших сумму баллов не менее 13.
Задание 2 (многотабличная БД)
1. Открыть БД «Абитуриент1.mdb»
2. Создать запрос для вывода на экран полей фамилия, факультет, название специальности для абитуриентов, поступающих на математический и физический факультеты и окончивших подготовительные курсы.
3. Создать запрос для вывода на экран фамилии, факультета и суммы баллов для абитуриентов, набравших в сумме более 12 баллов за три экзамена.
4. Создать запрос для вывода на экран фамилии, факультета, оценки за 1 экзамен, оценки за 2 экзамен, оценки за 3 экзамен для всех абитуриентов, у которых оценка за 3 экзамен выше среднего балла за все экзамены.
5. Создать запрос для вывода на экран фамилии, даты рождения, названия специальности и факультета для абитуриентов всех факультетов, кроме физического, родившихся в 1991 году.
Запросы на выборку
Создание запросов в Access данного вида предполагает построение таблицы, содержащей такие же структурные элементы, как и обычная. Она создается на базе фактических данных.
Результаты представляют собой динамический набор данных, в связи с чем при закрытии набора записи «исчезают», оставаясь в первоначальных таблицах. Сохранение данных запросов означает сохранение их структуры.
Данные запросы формируются указанием полей и таблиц, их содержащих, включаемых в запрос, описанием рассчитываемых полей, совершаемых групповых операций над первоначальными записями, и формированием условий отбора (например, с какой по какую дату осуществлялась реализация определенной группы товаров).
Создание запросов в MS Access данного вида предполагает, что их можно создать вручную или при помощи «Мастера создания запросов».
Для определения полей и таблиц, включаемых в запрос, переходим в режим конструктора.
Для перехода в режим конструктора в Access 2013 нужно в области навигации кликнуть контекстной кнопкой мыши на имени формы и выбрать «Конструктор». Нажав ALT+F8, можно вызвать «Список полей», из которых поля можно перетащить непосредственно в форму.
Создание запроса в режиме Конструктор.
В конструкторе можно создать запрос вручную. Для создания нового запроса надо выбрать объект базы данных ЗапросыСоздать и далее в диалоговом окне Новый запрос выбрать режим создания запроса Конструктор (рис 4.1).
Добавление таблиц в запрос.
Открыв окно запроса, можно приступать к разработке нового запроса. Разберем создание запроса на список всех поставок из базы Поставки с полным названием продукта и клиента. Необходимо начать с добавления таблиц, из которых выбираются данные (рис. 4.11).
Рис. 4.11. Диалоговое окно Добавление таблицы.
Количество таблиц, используемых в запросе, не ограничивается. Кроме таблиц в запросах могут использоваться другие запросы. Запросы, использующие несколько связанных таблиц, называются реляционными.
В процессе создания запроса всегда можно добавить еще таблицы, открыв окно добавления таблиц снова (меню Запрос Добавить таблицу…).
После закрытия диалогового окна Добавление таблицы, открывается окно конструктора. На рис. 4.12 показано такое окно с добавленными таблицами Клиенты, поставки и Продукты, с отображением установленных ранее связей.
Примечание. Если таблицы в запросе не объединены, то Access создаст полное объединение, содержащие все возможные комбинации, т.е. объединит все записи всех таблиц. Например, для двух несвязанных таблиц из 10 и 20 записей, запрос БУДЕТ содержать 200 записей.
Рис. 4.12. Создание нового Запроса в режиме Конструктор.
Окно конструктора запроса разделено на две части. В верхней части содержится окно таблиц и запросов, используемых в создаваемом запросе, а в нижней бланк запроса QBE, в котором задаются включаемые поля, условия отбора и порядок сортировки (если он необходим).
Добавление полей в запрос.
Для создания запроса нам потребуются следующие поля:
- Из таблицы Поставки КодПоставки, Дата, Объем
- Из таблицы Продукты Продукты
- Из таблицы Клиенты Клиент.
Чтобы добавить любое поле, надо переместить его мышью из окна таблицы в строку Поле бланка запроса или просто дважды щелкнуть на поле в окне таблицы (поле переместиться в следующий свободный столбец запроса).
Рис. 4.12. Пример добавления полей в бланк запроса.
Добавление вычисляемых полей.
Помимо выделения определенного набора записей запросы могут использоваться для расчета выражений для каждой записи. Практически во все запросы можно добавить вычисляемые поля.
При работе с формой выражение можно ввести в свойстве Данные определенного элемента управления. При работе с запросом выражение вводится в ячейке Поле бланка запроса. Вычисляемое поле или вычисляемый столбец это любое поле, содержащее выражение.
Добавим вычисляемое поле в запрос Поставки. Для вычисления стоимости заказа в поле последнего столбца введем (см. рис. 4.13):
Стоимость_заказа: *
Рис. 4.13. Пример добавления вычисляемого поля в бланк запроса.
Определение порядка сортировки.
Результат запроса можно сортировать по одному или нескольким полям. По умолчанию данные изображаются в прядке, установленном для ключевого поля первой выбранной таблицы. Если ключевого поля нет, данные отображаются в порядке отбора записей.
Для задания порядка сортировки в строке Сортировка бланка запроса открывается список и выбирается По возрастанию или По убыванию (рис 4.14). Данные сортируются в соответствии со стандартными правилами.
Рис. 4.14. Задание порядка сортировки.
На рис. 4.15 приведен выполненный запрос с сортировкой поля Дата по возрастанию
Рис. 4.15. Запрос Поставки с сортировкой по возрастанию Даты.
При сортировке по нескольким полям порядок, в котором поля добавлены в бланк запроса, определяет приоритет полей. Крайнее слева поле с включенной сортировкой имеет наиболее высокий приоритет, а крайнее справа наиболее низкий.
Выполнение запроса.
После создания запроса и установки всех его параметров запрос можно выполнить (меню Запрос — команда Запуск). Запрос отбирает данные и отображает результаты в динамическом наборе.
Для запуска запроса на выполнение можно использовать команду Режим таблицы. Для запросов на выборку оба метода идентичны; каждый выдает динамический набор с результатом запроса.
Разница между этими двумя методами станет очевидной для запросов на изменение данных. Операции по модификации данных (например, удаление записей) выполняются только после команды Запрос — Запуск.
Сохранение и печать запросов.
Запросы можно сохранять и печатать так же, как и другие объекты Access. Если запрос сохраняется впервые, появляется диалоговое окно для задания имени запроса.
2.4. Microsoft Access 2007
2.4.5. Создание запросов и поиск информации в базе данных
В СУБД Access 2007 можно создавать queries для отображения требуемых полей из записей одной или нескольких таблиц.
В СУБД Access 2007 применяются различные типы запросов: на выборку, на обновление, на добавление, на удаление, перекрестный query, выполнение вычислений, создание таблиц. Наиболее распространенным является query на выборку. Применяются два типа запросов: query по образцу (QBE) и query на основе структурированного языка запросов (SQL).
Запросы на выборку используются для отбора требуемой пользователю информации, содержащейся в нескольких таблицах. Они создаются только для связанных таблиц. Queries могут основываться как на нескольких таблицах, так и существующих запросах. СУБД Access 2007 включает такие средства создания запросов, как Мастер и Конструктор.
Кроме того, в СУБД Access 2007 существует множество средств для поиска и отображения информации, которая хранится в базе данных. Данные в таблицах можно отсортировать на основе любого поля или комбинации полей. Для извлечения из базы данных необходимых записей можно отфильтровать таблицу, применив средства фильтрации.
На скриншоте (рисунок 1) средства сортировки и фильтрации выделены скругленным прямоугольником красного цвета.
Рис. 1.
Рассмотрим создание запроса на выборку с помощью Конструктора
Для создания нового пустого запроса в режиме конструктора надо щелкнуть на пиктограмме Конструктор запросов (рисунок 2).
Рис. 2.
Откроется активное окно диалога Добавление таблицы (рисунок 3) на фоне неактивного окна «Запрос1». В этом окне можно выбрать таблицы и queries для создания новых запросов.
Рис. 3.
В окне Добавление таблицы следует выбрать несколько таблиц из представленного списка таблиц, на основе которых будет проводиться выбор данных, и щелкнуть на кнопке Добавить. После этого закрыть окно Добавление таблицы, а окно «Запрос1» станет активным (рисунок 4).
Рис. 4.
Окно Конструктора состоит из двух частей – верхней и нижней. В верхней части окна размещается схема данных запроса, которая содержит список связанных таблиц. В нижней части окна находится Бланк построения запроса QBE, в котором каждая строка выполняет определенную функцию.
Переместим имена полей с таблиц-источников в Бланк. Из таблицы Группы студентов переместим поле Название в первое поле Бланка, из таблицы Студенты переместим поле Фамилии во второе поле, а из таблицы Успеваемость переместим поле Оценка в третье поле и из таблицы Дисциплины переместим поле Название в четвертое поле Бланка запросов.
При необходимости можно задать принцип сортировки (по возрастанию или по убыванию) результатов запроса. В строке «Вывод на экран» автоматически устанавливается флажок просмотра информации.
Условия ограниченного поиска или критерий поиска информации вводится в строке «Условия» отбора и строке «Или». Например, введем критерий поиска — «5/A» в строке «Условия» для поля Оценка. В этом случае в результате выполнения запроса на экране будут отображаться все фамилии студентов, которые получили оценку 5/A (рисунок. 5).
Рис. 5.
Далее надо закрыть окно запроса Запрос1, появится окно диалога Сохранить, ответить — Да и ввести имя запроса, например «Успеваемость студентов». Для запуска запроса дважды щелкнем на query «Успеваемость студентов», откроется таблица с результатами выполненного запроса (рис. 6).
Рис. 6.
Далее создаем параметрический query или query с параметрами. Создаем этот query также как и предыдущий, в режиме конструктора, но только в строке Условия отбора для поля Фамилия введем условие отбора в виде приглашения в квадратных скобках, например . В этом случае в результате выполнения запроса на экране будет отображаться фамилия студента и все дисциплины, по которым он получил оценку.
Закрыть окно запроса на выборку. На вопрос о сохранении изменения ответить — Да и ввести имя запроса, например «Параметрический query». Запустим Параметрический query, дважды щелкнув на нем. В открывшемся на экране окне диалога «Введите значение параметра» надо ввести фамилию студента, информацию об успеваемости которого необходимо получить (рис. 8).
Рис. 7.
Затем надо щелкнуть на кнопке ОК, откроется таблица с результатами выполненного запроса (рис. 8).
Рис. 8.
В некоторых случаях для создания запросов можно использовать Мастер запросов. После создания запросов на выборку информации из БД Access 2007 можно приступать к формированию форм.
Далее >>> Раздел: 2.4.6. Создание форм для ввода данных в таблицы базы данных Access 2007
Групповые операции (перекрёстные запросы в access)
Аксесс довольно сложная программа. Это подтверждает тот факт, что в интернете можно найти массу информации по ней. Однако, вы знаете что на самом деле достаточно знать лишь 20% инструментов, чтобы создавать и настраивать 80% баз данных в программе? И научиться этому можно после изучения 40 специальных видеоуроков, в которых описана самая суть без воды.
При помощи перекрёстного запроса вычисляются итоговые значения (суммы, количество значений, минимальные и максимальные значения и т. д.) данных и группируются по заголовкам столбцов и по заголовкам строк. Анализ информации значительно упрощается.
В перекрёстном запросе обычно три поля: поле заголовка столбцов, поле заголовка строк и поле итогового содержимого ячеек.
По умолчанию строка «Групповая операция» в режиме конструктора скрыта.
Группировка
Инструкция «Группировка» разбивает результаты запроса по каждому уникальному значению поля (полей). Например, если в поле Страна встречается 20 раз Литва, 30 раз Польша, 50 раз Чехия, то при группировке по этому полю будет всего три записи – по одной на каждую страну. Если будем добавлять группировку в другие поля, то количество выбранных записей возрастёт, так как программа будет искать уникальное значение не одного, а нескольких полей (например, зададим группировку по странам и по поставщикам. В Литве пять поставщиков, а, следовательно, уникальных записей для Литвы уже будет пять, а не одна).
Инструкция Группировка автоматически задаёт сортировку в алфавитном порядке. Для изменения порядка сортировки надо явно указать программе параметры в строке «Сортировка».