Создание запросовв базе данных access 2007
Содержание:
- ПримечанияRemarks
- Перекрестный запрос
- Расширенный перекрестный запрос
- Запросы в Access 2013 с помощью элементов формы
- Групповые операции (перекрёстные запросы в access)
- Легкий путь для новичков
- Формирование сложных запросов к готовой базе данных
- Краткие рекомендации
- Что такое Алиэкспресс
- Создание запроса с несколькими таблицами
- 2.4. Microsoft Access 2007
- Создание запроса на выборку.
- Легкий путь для новичков
- СинтаксисSyntax
Примечания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 2013 с помощью элементов формы
Создание формы Пошук
Создадим пустую форму. Для этого выберем в меню вкладку Создание и кликнем на Пустая форма.
Получим форму в режиме макета. Кликнем правой кнопкой мышки по форме и выберем в контекстном меню Свойства формы (или Работа с макетами форм — Конструктор — Сервис — Страница свойств).
Справа появится Окно свойств. В выпадающем списке строки Источник записей вкладки Данные выберем Для форми пошуку
После этого в сервисе выберем Добавить поля. Окно свойств сменится на Список полей.
Добавим на форму следующие элементы (перетягивание мышкой из списка полей на форму):
Дата (дважды), Найменування клієнта, Адреса, Телефон, Рахунок, Найменування товару, Ціна (дважды), Кількість (дважды), Передоплата, Сума передоплати (дважды).
- Изменим надписи для даты, цены, количества и суммы предоплаты.
- Дата: → Дата з:
- Дата: → Дата по:
- Ціна: → Ціна від:
- Ціна: → Ціна до:
- Кількість: → Кількість від:
- Кількість: → Кількість до:
- Сума передоплати: → Сума передоплати від:
- Сума передоплати: → Сума передоплати до:
Выделим поле напротив надписи Дата з:. В инструментах конструктора форм выберем вкладку Конструктор. Откроем окно свойств для выделенного элемента (Сочетание клавиш ALT+ENTER; Конструктор — Сервис — Страница свойств или в контекстном меню выбрать Свойства)
В окне свойств перейдем на вкладку Другие и в строке Имя впишем Дата з
Перейдем на вкладку Данные и в строке Данные сотрем Дата
Аналогично поступим и с другими полями формы.
Дата по: вписываем имя Дата по в строке Имя вкладки Другие; очищаем строку Данные вкладки Данные; в строке Значение по умолчанию вписываем Date(); в строке Правило проверки впишем >#01.01.2010# и в строке Сообщение об ошибке — Введіть дату після 1 січня 2010 року!.
- Найменування клієнта:, Адреса:, Телефон:, Рахунок:, Найменування товару: очищаем строку Данные вкладки Данные.
- Ціна від: вписываем имя Ціна від в строке Имя вкладки Другие; очищаем строку Данные вкладки Данные; в строке Значение по умолчанию вписываем 1; в строке Правило проверки впишем >0 и в строке Сообщение об ошибке — Введіть суму > нуля!
- Ціна до: вписываем имя Ціна до в строке Имя вкладки Другие; очищаем строку Данные вкладки Данные; в строке Значение по умолчанию вписываем 1000 (можно вписать любое число, ориентируйтесь на максимальную цену); в строке Правило проверки впишем >0 и в строке Сообщение об ошибке — Введіть суму > нуля!
- Кількість від: вписываем имя Кількість від в строке Имя вкладки Другие; очищаем строку Данные вкладки Данные; в строке Значение по умолчанию вписываем 1; в строке Правило проверки впишем >0 и в строке Сообщение об ошибке — Введіть кількість > нуля!
- Кількість до: вписываем имя Кількість до в строке Имя вкладки Другие;очищаем строку Данные вкладки Данные; в строке Значение по умолчанию вписываем 1000 (можно вписать любое число, ориентируйтесь на максимальное количество); в строке Правило проверки впишем >0 и в строке Сообщение об ошибке — Введіть кількість > нуля!
- Передоплата: очищаем строку Данные вкладки Данные.
Сума передоплати від: вписываем имя Сума передоплати від в строке Имя вкладки Другие; очищаем строку Данные вкладки Данные; в строке Значение по умолчанию вписываем . ; в строке Правило проверки впишем >=0 и в строке Сообщение об ошибке — Введіть суму, яка більше або дорівнює нулеві!
Сума передоплати до: вписываем имя Сума передоплати до в строке Имя вкладки Другие; очищаем строку Данные вкладки Данные; в строке Значение по умолчанию вписываем 1000 (можно вписать любое число, ориентируйтесь на максимальную сумму предоплаты); в строке Правило проверки впишем >=0 и в строке Сообщение об ошибке — Введіть суму, яка більше або дорівнює нулеві!
Преобразуем поле Найменування клієнта в поле со списком (контекстное меню поля)
Выполним следующее: Окно свойств — Данные — Источник строк — … — Довідник клієнтів — Найменування клієнта — закрыть построитель запросов и подтвердить сохранение.
Аналогично преобразуем в поле со списком Найменування товару. В качестве источника выбрать Найменування товару.
В результате получим
Закроем и сохраним форму под именем Пошук
Групповые операции (перекрёстные запросы в access)
Аксесс довольно сложная программа. Это подтверждает тот факт, что в интернете можно найти массу информации по ней. Однако, вы знаете что на самом деле достаточно знать лишь 20% инструментов, чтобы создавать и настраивать 80% баз данных в программе? И научиться этому можно после изучения 40 специальных видеоуроков, в которых описана самая суть без воды.
При помощи перекрёстного запроса вычисляются итоговые значения (суммы, количество значений, минимальные и максимальные значения и т. д.) данных и группируются по заголовкам столбцов и по заголовкам строк. Анализ информации значительно упрощается.
В перекрёстном запросе обычно три поля: поле заголовка столбцов, поле заголовка строк и поле итогового содержимого ячеек.
По умолчанию строка «Групповая операция» в режиме конструктора скрыта.
Группировка
Инструкция «Группировка» разбивает результаты запроса по каждому уникальному значению поля (полей). Например, если в поле Страна встречается 20 раз Литва, 30 раз Польша, 50 раз Чехия, то при группировке по этому полю будет всего три записи – по одной на каждую страну. Если будем добавлять группировку в другие поля, то количество выбранных записей возрастёт, так как программа будет искать уникальное значение не одного, а нескольких полей (например, зададим группировку по странам и по поставщикам. В Литве пять поставщиков, а, следовательно, уникальных записей для Литвы уже будет пять, а не одна).
Инструкция Группировка автоматически задаёт сортировку в алфавитном порядке. Для изменения порядка сортировки надо явно указать программе параметры в строке «Сортировка».
Легкий путь для новичков
Знающий человек за несколько кликов мышью выбирает те компоненты, которые потребуются пользователю для выполнения запроса, а затем быстро формирует реестр, в соответствии с собранными ключевыми значениями. Если это первое знакомство с СУБД, и пользователь не представляет, как создавать запросы в Access, то выбирается программа Мастер.
В данном режиме можно ознакомиться и разобраться со следующими типами запросов:
- Простой.
- Перекрестный.
- Записи без подчиненных.
- Повторяющиеся записи.
Данный выбор осуществляется уже на первом этапе работы с Мастером. А в дальнейшем, следуя четким указаниям, даже начинающий пользователь легко создаст запрос. Познакомимся с его разновидностями.
Формирование сложных запросов к готовой базе данных
- Главная | Информатика и информационно-коммуникационные технологии | Планирование уроков и материалы к урокам | 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, больше подойдет первый вариант. Ведь Мастер сам сделает всю работу, оставив для пользователя только несколько кликов мышью, при выборе условий запроса.
Чтобы использовать расширенные настройки, явно необходим опыт работы с базами данных на уровне профессионала. Если в работе задействованы большие базы, лучше всего обратиться к специалистам, дабы избежать нарушения работы СУБД и возможных потерь данных.
Есть один момент, который доступен лишь программистам. Так как основным языком СУБД является SQL, то нужный запрос можно написать в виде программного кода. Чтобы работать в данном режиме, достаточно нажать на строку уже созданного запроса, и в открывшемся контекстном меню выбрать «Режим SQL».
Нужно получить информацию о пользователях дата рождения которых попадает в определенный интервал, нашел след запрос который выбирает ближайшие дни рождения на 10 дней. Так вроде все работает нормально, но если к примеру в текущий день нет дня рождения а в следящий есть то запрос все равно ничего не вернет т.е он работает нормально если в текущий день (NOW()) в базе есть чел. У которого в этот день выпадает день рождения
Как это можно исправить ?
Код |
Что такое Алиэкспресс
Существует несколько способов как заработать на алиэкспресс, а без вложений еще меньше:
- Перепродажа товаров (может потребовать вложений)
- Стать посредником за 10-20% от цены товара
- Партнерская программа.
Рассмотрим все подробней, ведь каждый метод отличается своими нюансами
Особенно рекомендую обратить внимание на последний пункт — там есть одна лазейка, которая позволяет зарабатывать довольно легко и просто
Создание запроса с несколькими таблицами
Теперь, когда мы запланировали наш запрос, мы готовы его спроектировать и запустить. Если вы создали письменные планы для своего запроса, обязательно обращайтесь к ним часто в процессе разработки запроса.
Чтобы создать запрос с несколькими таблицами:
- Выберите команду « Конструктор запросов» на вкладке « Создать » на ленте.
В появившемся диалоговом окне « Показать таблицу » выберите каждую таблицу, которую вы хотите включить в свой запрос, затем нажмите « Добавить» . После того, как вы добавили все нужные таблицы, нажмите « Закрыть» . Когда мы планировали наш запрос, мы решили, что нам нужна информация из таблицы 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
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, можно создать запрос вручную или с помощью Мастера создания запросов (рекомендуется для начинающих пользователей). Процесс создания нового запроса аналогичен созданию таблицы, т.е. надо просто выбрать объект базы данных ЗапросыСоздать и далее в диалоговом окне Новый запрос выбрать режим создания запроса (рис 4.1).
Разберем создание простого запроса на выборку данных из таблицы Клиенты .
Рис. 4.1. Выбор режима создания нового запроса.
Рис. 4.2. Выбор полей, включаемых в запрос.
Определив способ создания запроса, выбираем поля, которые включаются в запрос (рис.4.2) из таблицы Клиенты — поля КодКлиента, Клиент, Телефон
На последней странице мастера запросу присваивается имя Телефоны (рис 4.3).
Рис. 4.3. Наименование запроса.
Результат выполнения запроса представлен на рис 4.4.
В готовом запросе мастер выводит поля в том порядке, в котором они представлены в списке выбранных полей.
Рис. 4.4. Простой запрос возвращает из таблицы Клиенты только указанные в запросе поля.
Нахождение итоговых значений.
Простой запрос можно использовать и для нахождения итоговых данных, например, для вычисления суммы поля. Обязательным условием является наличие в запросе числового поля.
Создадим новый простой запрос из таблицы Поставки для подсчета суммарного объема каждой марки нефтепродуктов за весь период. Для этого из таблицы поставки выберем поля КодПродукта и Объем (рис. 4.5)
Рис. 4.5. Выбор полей, включаемых в запрос.
На следующем шаге выберем параметр Итоговый и, нажав кнопку Итоги…(рис 4.6), в диалоговом окне Итоги (рис 4.7) установим флажок Sum в Поставки.
Рис. 4.6. Выбор отчета с отображением Итогов.
Рис. 4.7. Выбор итоговой функции для поля Объем..
Результат выполнения запроса представлен на рис. 4.8.
Рис. 4.8. Запрос, созданный мастером, возвращает общий объем каждой марки нефтепродуктов.
На рис. 4.4 и 4.8 представлен просмотр результата запросов в режиме Таблица. Среда запросов позволяет просматривать (создавать) запросы еще в режиме Конструктор с бланком запроса и в режиме SQL.
- Создание и изменение запросов в режиме Конструктор.
Легкий путь для новичков
Знающий человек за несколько кликов мышью выбирает те компоненты, которые потребуются пользователю для выполнения запроса, а затем быстро формирует реестр, в соответствии с собранными ключевыми значениями. Если это первое знакомство с СУБД, и пользователь не представляет, как создавать запросы в Access, то выбирается программа Мастер.
В данном режиме можно ознакомиться и разобраться со следующими типами запросов:
- Простой.
- Перекрестный.
- Записи без подчиненных.
- Повторяющиеся записи.
Данный выбор осуществляется уже на первом этапе работы с Мастером. А в дальнейшем, следуя четким указаниям, даже начинающий пользователь легко создаст запрос. Познакомимся с его разновидностями.
СинтаксисSyntax
Вы можете использовать три формы синтаксиса для создания вложенного запроса:You can use three forms of syntax to create a subquery:
сравнение (sqlstatement)comparison (sqlstatement)
выражение IN (sqlstatement)expression IN (sqlstatement)
EXISTS (sqlstatement) EXISTS (sqlstatement)
Вложенный запрос состоит из следующих частей:A subquery has these parts:
ЧастьPart |
ОписаниеDescription |
---|---|
сравнениеComparison |
Выражение и оператор сравнения, который сравнивает выражение с результатами вложенного запроса.An expression and a comparison operator that compares the expression with the results of the subquery. |
выражениеexpression |
Выражение, для которого выполняется поиск по набору результатов для вложенного запроса.An expression for which the result set of the subquery is searched. |
sqlstatementsqlstatement |
Оператор SELECT с тем же форматом и правилами, что и любой другой оператор SELECT.A SELECT statement, following the same format and rules as any other SELECT statement. Его необходимо включать в скобки.It must be enclosed in parentheses. |