Как создавать запросы в Access: пошаговая инструкция и рекомендации
Приложение СУБД MS Access – это полноценный помощник для создания и ведения баз данных, заключенных в таблицы и массивы. Если база имеет слишком большой объем, быстро найти необходимые значения довольно сложно.
Именно поэтому в Access существует такая функция, как запросы. Рассмотрим, что это такое, как работает, какие имеет особенности.
Создание запросов в Microsoft Access
Чтобы разобраться, как создавать запросы в Access, нужно знать основные положения работы с СУБД.
Существует два способа выполнить данную процедуру:
- Конструктор запросов.
- Мастер запросов.
Первый способ дает возможность создать любой из всех доступных запросов в ручном режиме, но с небольшой оговоркой, заключающейся в том, что пользователь имеет опыт работы с приложением Access. Также он должен разбираться хотя бы в основных его задачах. Что касается второго способа, то его нужно рассмотреть более подробно.
Легкий путь для новичков
Знающий человек за несколько кликов мышью выбирает те компоненты, которые потребуются пользователю для выполнения запроса, а затем быстро формирует реестр, в соответствии с собранными ключевыми значениями. Если это первое знакомство с СУБД, и пользователь не представляет, как создавать запросы в Access, то выбирается программа Мастер.
В данном режиме можно ознакомиться и разобраться со следующими типами запросов:
Данный выбор осуществляется уже на первом этапе работы с Мастером. А в дальнейшем, следуя четким указаниям, даже начинающий пользователь легко создаст запрос. Познакомимся с его разновидностями.
Простой запрос
Этот инструмент работы с таблицами собирает нужные данные из указанных пользователем полей. Уже по названию видно, что это самый популярный тип запросов для новичков. Его удобство заключается в том, что такая процедура открывается в новой вкладке. Поэтому ответ на вопрос, как создать запрос в Access 2010, становится очевидным уже после открытия первого меню Мастера.
Перекрестный запрос
Этот тип выборки более сложный. Чтобы разобраться, как создать перекрестный запрос в Access с помощью «Мастера» в данном режиме, нужно кликнуть по этой функции в первом окне.
На экране появится таблица, в которой можно выбрать до трех столбцов, расположенных в оригинале.
Одно из оставшихся не выбранных полей может быть использовано в качестве заголовков таблицы запроса. На третьем этапе процедуры (пересечение) выбирается еще одно значение с вариативностью функцию (среднее значение, сумма, первый, последний).
На фото показано, что перекрестный запрос создан, и что по заданным параметрам совершены необходимые действия.
Повторяющиеся записи
Как понятно из названия, основное предназначение данного запроса – выборка всех одинаковых строк в таблице по указанным параметрам. Выглядит это так:
Кроме того, доступен выбор дополнительных полей, чтобы подобрать соответствие сразу в нескольких строках.
Чтобы выбрать повторяющиеся записи, нужно раскрыть список запросов и создать там новую папку. Далее в окошке «Новый запрос» выбрать строку «Поиск повторяющихся записей». Далее нужно следовать указаниям Мастера.
Записи без подчиненных
Это последний тип запросов, доступный в режиме «Мастер – Записи без подчиненных».
В этом случае ведется выборка только тех значений, которые не задействованы ни в одном поле таблиц и запросов, но которые уже созданы.
Данный тип актуален только в случаях, когда баз данных несколько.
Все эти четыре типа запросов являются базовой точкой для работы со сложными элементами, но позволяют легко разобраться, как создать запрос в базе данных Access.
Функции запросов в MS Access
Разберемся, зачем нужно выполнять описанные выше действия. Задача всех простых и сложных запросов в СУБД Access заключается в следующем:
- Сбор необходимых данных в таблицах, их последующих просмотр, редактирование, добавление новых значений.
- Прекрасный исходный материал для подготовки всевозможных форм отчетности.
- Проведение математических и статистических счетных процедур над целыми массивами данных с выводом итогов на экран (среднее значение, сумма, отклонение, итоги).
Запрос на выборку
Этот тип работы с базами данных является сложным, так как требует участия нескольких таблиц.
Необходимо, чтобы во всех таблицах были общие ключевые поля. В противном случае совершить операцию не получится.
Повторим, как создать запрос на выборку в Access. Сначала нужно создать простой запрос с выбором нужных полей. Уже здесь можно редактировать данные, чтобы привести их в желаемый вид. К слову, внесенные изменения перенесутся и в исходные таблицы, так что этот момент нужно учитывать.
В открывшемся окне конструктора заполняется окно «Добавление таблиц». Здесь нужно добавить те таблицы или запросы, из которых нужно вытаскивать исходные значения.
После добавления можно приступить к заполнению условий запроса. Для этого нам нужна строка «Поле». В ней нужно подобрать те значения из таблиц, которые будут отображаться при запросе.
Чтобы завершить операцию, нужно нажать на кнопку «Выполнить».
Запрос с параметрами
Это еще одна разновидность сложной процедуры, которая потребует от пользователя определенных навыков работы с базами данных. Одним из главных направлений такого действия является подготовка к созданию отчетов с объемными данными, а также получение сводных результатов. Как создавать запросы в Access 2007 с помощью конструктора, будет рассмотрено ниже.
Начинать данную процедуру по выборке данных нужно с создания простого запроса, чтобы выбрать нужные поля. Далее через режим Конструктора обязательно нужно заполнить поле «Условие отбора» и, уже исходя из внесенного значения, будет осуществляться отбор.
Таким образом, на вопрос о том, как создать запрос с параметром в Access, ответ простой — внести исходные параметры для выборки. Чтобы работать с Конструктором необходимо пользоваться Мастером запросов. Там создается первичные данные для фильтрации, которые служат основой дальнейшей работы.
Расширенный перекрестный запрос
Продолжаем усложнять ситуацию. Еще труднее для понимания является информация о том, как создавать запросы в Access, если присутствует несколько таблиц с данными. Перекрестный запрос уже рассматривался выше, как один из вариантов работы с Мастером. Однако, и в режиме «Конструктора» можно создавать подобный запрос.
Для этого необходимо нажать «Конструктор запросов» — «Перекрестный».
Открывается меню добавления исходных таблиц, а также возможность заполнения выборочных полей. Единственное, на что следует обратить внимание, – пункты «групповая операция» и «перекрестная таблица». Их нужно заполнять правильно, иначе процедура не будет выполнена корректно.
Перекрестные запросы – это наиболее простой способ поиска и выборки информации из нескольких источников данных, плюс с возможностью формирования диаграмм и графиков.
Более того, при использовании данной процедуры быстрее выполняется поиск, даже с несколькими вариантами развития.
Конечно, присутствуют и «подводные камни», которые могут помешать в работе. Например, при создании запроса на сортировку базы данных по значению столбцов система выдает ошибку. То есть доступна только сортировка по стандартным пунктам – «возрастание и убывание».
Краткие рекомендации
Подводя итоги, нужно сказать, что решить, как создавать запросы в Access – с помощью Мастера или Конструктора, должен сам пользователь. Хотя, для большинства людей, которые используют СУБД MS Access, больше подойдет первый вариант. Ведь Мастер сам сделает всю работу, оставив для пользователя только несколько кликов мышью, при выборе условий запроса.
Чтобы использовать расширенные настройки, явно необходим опыт работы с базами данных на уровне профессионала. Если в работе задействованы большие базы, лучше всего обратиться к специалистам, дабы избежать нарушения работы СУБД и возможных потерь данных.
Есть один момент, который доступен лишь программистам. Так как основным языком СУБД является SQL, то нужный запрос можно написать в виде программного кода. Чтобы работать в данном режиме, достаточно нажать на строку уже созданного запроса, и в открывшемся контекстном меню выбрать «Режим SQL».
Источник статьи: http://fb.ru/article/370546/kak-sozdavat-zaprosyi-v-access-poshagovaya-instruktsiya-i-rekomendatsii
Создание простого запроса на выборку
Примечание: Мы стараемся как можно оперативнее обеспечивать вас актуальными справочными материалами на вашем языке. Эта страница переведена автоматически, поэтому ее текст может содержать неточности и грамматические ошибки. Для нас важно, чтобы эта статья была вам полезна. Просим вас уделить пару секунд и сообщить, помогла ли она вам, с помощью кнопок внизу страницы. Для удобства также приводим ссылку на оригинал (на английском языке).
Если вам нужно выбрать определенные данные из одного или нескольких источников, можно воспользоваться запросом на выборку. Запрос на выборку позволяет получить только необходимые сведения, а также помогает объединять информацию из нескольких источников. В качестве источников данных для запросов на выборку можно использовать таблицы и другие такие же запросы. В этом разделе вкратце рассматриваются запросы на выборку и предлагаются пошаговые инструкции по их созданию с помощью Мастера запросов либо в Конструктор.
Если вы хотите узнать больше о принципах работы запросов на примере базы данных Northwind, ознакомьтесь со статьей Общие сведения о запросах.
В этой статье
Общие сведения
Когда возникает потребность в каких-то данных, редко бывает необходимо все содержимое одной таблицы. Например, если вам нужна информация из таблицы контактов, как правило, речь идет о конкретной записи или только о номере телефона. Иногда бывает необходимо объединить данные сразу из нескольких таблиц, например совместить информацию о клиентах со сведениями о заказчиках. Для выбора необходимых данных используются запросы на выборку.
Запрос на выборку — это объект базы данных, который показывает информацию в Режим таблицы. Запрос не хранит данные, но содержит данные, которые хранятся в таблицах. В запросе можно отобразить данные из одной или нескольких таблиц, из других запросов или из двух сочетаний.
Преимущества запросов
Запрос позволяет выполнять перечисленные ниже задачи.
Просматривать значения только из полей, которые вас интересуют. При открытии таблицы отображаются все поля. Вы можете сохранить запрос, который выдает лишь некоторые из них.
Примечание: Запрос только возвращает данные, но не сохраняет их. При сохранении запроса вы не сохраняете копию соответствующих данных.
Объединять данные из нескольких источников. В таблице обычно можно увидеть только те сведения, которые в ней хранятся. Запрос позволяет выбрать поля из разных источников и указать, как именно нужно объединить информацию.
Использовать выражения в качестве полей. Например, в роли поля может выступить функция, возвращающая дату, а с помощью функции форматирования можно управлять форматом значений из полей в результатах запроса.
Просматривать записи, которые отвечают указанным вами условиям. При открытии таблицы отображаются все записи. Вы можете сохранить запрос, который выдает лишь некоторые из них.
Основные этапы создания запроса на выборку
Вы можете создать запрос на выборку с помощью мастера или конструктора запросов. Некоторые элементы недоступны в мастере, однако их можно добавить позже из конструктора. Хотя это разные способы, основные этапы аналогичны.
Выберите таблицы или запросы, которые хотите использовать в качестве источников данных.
Укажите поля из источников данных, которые хотите включить в результаты.
Также можно задать условия, которые ограничивают набор возвращаемых запросов записей.
Создав запрос на выборку, запустите его, чтобы посмотреть результаты. Чтобы выполнить запрос на выборку, откройте его в режиме таблицы. Сохранив запрос, вы сможете использовать его позже (например, в качестве источника данных для формы, отчета или другого запроса).
Создание запроса на выборку с помощью мастера запросов
Мастер позволяет автоматически создать запрос на выборку. При использовании мастера вы не полностью контролируете все детали процесса, однако таким способом запрос обычно создается быстрее. Кроме того, мастер иногда обнаруживает в запросе простые ошибки и предлагает выбрать другое действие.
Подготовка
Если вы используете поля из источников данных, которые не связаны между собой, мастер запросов предлагает создать между ними отношения. Он откроет окно отношений, однако если вы внесете какие-то изменения, то вам потребуется перезапустить мастер. Таким образом, перед запуском мастера имеет смысл сразу создать все отношения, которые потребуются вашему запросу.
Дополнительную информацию о создании отношений между таблицами можно найти в статье Руководство по связям между таблицами.
Использование мастера запросов
На вкладке Создание в группе Запросы нажмите кнопку Мастер запросов.
В диалоговом окне Новый запрос выберите пункт Простой запрос и нажмите кнопку ОК.
Теперь добавьте поля. Вы можете добавить до 255 полей из 32 таблиц или запросов.
Для каждого поля выполните два указанных ниже действия.
В разделе Таблицы и запросы щелкните таблицу или запрос, содержащие поле.
В разделе Доступные поля дважды щелкните поле, чтобы добавить его в список Выбранные поля. Если вы хотите добавить в запрос все поля, нажмите кнопку с двумя стрелками вправо (>>).
Добавив в запрос все необходимые поля, нажмите кнопку Далее.
Если вы не добавили ни одного числового поля (поля, содержащего числовые данные), перейдите к действию 9. При добавлении числового поля вам потребуется выбрать, что именно вернет запрос: подробности или итоговые данные.
Выполните одно из указанных ниже действий.
Если вы хотите просмотреть отдельные записи, выберите пункт подробный и нажмите кнопку Далее. Перейдите к действию 9.
Если вам нужны итоговые числовые данные, например средние значения, выберите пункт итоговый и нажмите кнопку Итоги.
В диалоговом окне Итоги укажите необходимые поля и типы итоговых данных. В списке будут доступны только числовые поля.
Для каждого числового поля выберите одну из перечисленных ниже функций.
Sum — запрос вернет сумму всех значений, указанных в поле.
Avg — запрос вернет среднее значение поля.
Min — запрос вернет минимальное значение, указанное в поле.
Max — запрос вернет максимальное значение, указанное в поле.
Если вы хотите, чтобы в результатах запроса отобразилось число записей в источнике данных, установите соответствующий флажок Подсчет числа записей в (название источника данных).
Нажмите ОК, чтобы закрыть диалоговое окно Итоги.
Если вы не добавили в запрос ни одного поля даты и времени, перейдите к действию 9. Если вы добавили в запрос поля даты и времени, мастер запросов предложит вам выбрать способ группировки значений даты. Предположим, вы добавили в запрос числовое поле («Цена») и поле даты и времени («Время_транзакции»), а затем в диалоговом окне Итоги указали, что хотите отобразить среднее значение по числовому полю «Цена». Поскольку вы добавили поле даты и времени, вы можете подсчитать итоговые величины для каждого уникального значения даты и времени, например для каждого месяца, квартала или года.
Выберите период, который хотите использовать для группировки значений даты и времени, а затем нажмите кнопку Далее.
Примечание: В режиме конструктора для группировки значений по периодам можно использовать выражения, однако в мастере доступны только указанные здесь варианты.
На последней странице мастера задайте название запроса, укажите, хотите ли вы открыть или изменить его, и нажмите кнопку Готово.
Если вы решили открыть запрос, он отобразит выбранные данные в режиме таблицы. Если вы решили изменить запрос, он откроется в режиме конструктора.
Создание запроса в режиме конструктора
В режиме конструктора можно вручную создать запрос на выборку. В этом режиме вы полнее контролируете процесс создания запроса, однако здесь легче допустить ошибку и необходимо больше времени, чем в мастере.
Создание запроса
Действие 1. Добавьте источники данных
В режиме конструктора источники данных и поля добавляются на разных этапах, так как для добавления источников используется диалоговое окно Добавление таблицы. Однако вы всегда можете добавить дополнительные источники позже.
На вкладке Создание в группе Другое нажмите кнопку Конструктор запросов.
В диалоговом окне Добавление таблицы на вкладке Таблицы, Запросы или Таблицы и запросы дважды щелкните каждый источник данных, который хотите использовать, или выберите их и нажмите кнопку Добавить.
Закройте диалоговое окно Добавление таблицы.
Автоматическое соединение
Если между добавляемыми источниками данных уже заданы отношения, они автоматически добавляются в запрос в качестве соединений. Соединения определяют, как именно следует объединять данные из связанных источников. Access также автоматически создает соединение между двумя таблицами, если они содержат поля с совместимыми типами данных и одно из них — первичный ключ.
Вы можете настроить соединения, добавленные приложением Access. Access выбирает тип создаваемого соединения на основе отношения, которое ему соответствует. Если Access создает соединение, но для него не определено отношение, Access добавляет внутреннее соединение.
Если приложение Access при добавлении источников данных автоматически создало соединения правильных типов, вы можете перейти к действию 3 (добавление выводимых полей).
Повторное использование одного источника данных
В некоторых случаях вы можете присоединиться к двум копиям одной и той же таблицы или запроса, которые называются самосоединение, и будут объединять записи из той же таблицы, если в Объединенных полях есть совпадающие значения. Например, предположим, что у вас есть таблица Employees, в которой поле «подчиняется» для записи каждого сотрудника отображает его идентификатор своего руководителя вместо имени. Вы можете использовать самосоединение для отображения имени руководителя в записи каждого сотрудника.
При добавлении источника данных во второй раз Access присвоит имени второго экземпляра окончание «_1». Например, при повторном добавлении таблицы «Сотрудники» ее второй экземпляр будет называться «Сотрудники_1».
Действие 2. Соедините связанные источники данных
Если источники данных, добавленные в запрос, уже имеют отношения, Access автоматически создает внутреннее соединение для каждой связи. Если используется целостность данных, Access также отображает «1» над линией соединения, чтобы показать, какая таблица находится на стороне «один» элемента отношение «один-ко-многим» и символ бесконечности ( ∞), чтобы показать, какая таблица находится на стороне «многие».
Если вы добавили в запрос другие запросы и не создали между ними отношения, Access не создает автоматических соединений ни между ними, ни между запросами и таблицами, которые не связаны между собой. Если Access не создает соединения при добавлении источников данных, как правило, их следует создать вручную. Источники данных, которые не соединены с другими источниками, могут привести к проблемам в результатах запроса.
Кроме того, можно сменить тип соединения с внутреннего на внешнее соединение, чтобы запрос включал больше записей.
Добавление соединения
Чтобы создать соединение, перетащите поле из одного источника данных в соответствующее поле в другом источнике.
Access добавит линию между двумя полями, чтобы показать, что они соединены.
Изменение соединения
Дважды щелкните соединение, которое требуется изменить.
Откроется диалоговое окно Параметры соединения.
Ознакомьтесь с тремя вариантами в диалоговом окне Параметры соединения.
Выберите нужный вариант и нажмите кнопку ОК.
После создания соединений можно добавить выводимые поля: они будут содержать данные, которые должны отображаться в результатах.
Действие 3. Добавьте выводимые поля
Вы можете легко добавить поле из любого источника данных, добавленного в действии 1.
Для этого перетащите поле из источника в верхней области окна конструктора запросов вниз в строку Поле бланка запроса (в нижней части окна конструктора).
При добавлении поля таким образом Access автоматически заполняет строку Таблица в таблице конструктора в соответствии с источником данных поля.
Совет: Чтобы быстро добавить все поля в строку «Поле» бланка запроса, дважды щелкните имя таблицы или запроса в верхней области, чтобы выделить все поля в нем, а затем перетащите их все сразу вниз на бланк.
Использование выражения в качестве выводимого поля
Вы можете использовать выражение в качестве выводимого поля для вычислений или создания результатов запроса с помощью функции. В выражениях могут использоваться данные из любых источников запроса, а также функции, например Format или InStr, константы и арифметические операторы.
В пустом столбце таблицы запроса щелкните строку Поле правой кнопкой мыши и выберите в контекстном меню пункт Масштаб.
В поле Масштаб введите или вставьте необходимое выражение. Перед выражением введите имя, которое хотите использовать для результата выражения, а после него — двоеточие. Например, чтобы обозначить результат выражения как «Последнее обновление», введите перед ним фразу Последнее обновление:.
Примечание: С помощью выражений можно выполнять самые разные задачи. Их подробное рассмотрение выходит за рамки этой статьи. Дополнительные сведения о создании выражений см. в статье Создание выражений.
Действие 4. Укажите условия
С помощью условий можно ограничить количество записей, которые возвращает запрос, выбирая только те из них, значения полей в которых отвечают заданным критериям.
Определение условий для выводимого поля
В таблице конструктора запросов в строке Условие отбора поля, значения в котором вы хотите отфильтровать, введите выражение, которому должны удовлетворять значения в поле для включения в результат. Например, чтобы включить в запрос только записи, в которых в поле «Город» указано «Рязань», введите Рязань в строке Условие отбора под этим полем.
Различные примеры выражений условий для запросов можно найти в статье Примеры условий запроса.
Укажите альтернативные условия в строке или под строкой Условие отбора.
Когда указаны альтернативные условия, запись включается в результаты запроса, если значение соответствующего поля удовлетворяет любому из указанных условий.
Условия для нескольких полей
Условия можно задать для нескольких полей. В этом случае для включения записи в результаты должны выполняться все условия в соответствующей строке Условия отбора либо Или.
Настройка условий на основе поля, которое не включается в вывод
Вы можете добавить в запрос поле, но не включать его значения в выводимые результаты. Это позволяет использовать содержимое поля для ограничения результатов, но при этом не отображать его.
Добавьте поле в таблицу запроса.
Снимите для него флажок в строке Показывать.
Задайте условия, как для выводимого поля.
Действие 5. Рассчитайте итоговые значения
Этот этап является необязательным.
Вы также можете вычислить итоговые значения для числовых данных. Например, может потребоваться просмотреть среднюю цену или общие продажи.
Для расчета итоговых значений в запросе используется строка Итого. По умолчанию строка Итого не отображается в режиме конструктора.
Когда запрос открыт в конструкторе, на вкладке «Конструктор» в группе «Показать или скрыть» нажмите кнопку Итоги.
Access отобразит строку Итого на бланке запроса.
Для каждого необходимого поля в строке Итого выберите нужную функцию. Набор доступных функций зависит от типа данных в поле.
Дополнительные сведения о функциях строки «Итого» в запросах см. в статье Суммирование или подсчет значений в таблице с помощью строки «Итого».
Действие 6. Просмотрите результаты
Чтобы увидеть результаты запроса, на вкладке «Конструктор» нажмите кнопку Выполнить. Access отобразит результаты запроса в режиме таблицы.
Чтобы вернуться в режим конструктора и внести в запрос изменения, щелкните Главная > Вид > Конструктор.
Настраивайте поля, выражения или условия и повторно выполняйте запрос, пока он не будет возвращать нужные данные.
Создание запроса на выборку в веб-приложении Access
В веб-приложении Access создать такой же запрос на выборку можно почти так же, как и в приложении для классических баз данных. Нужно только выполнить несколько дополнительных действий, чтобы отобразить результаты запроса в браузере.
Важно Службы Access 2010 и 2013 удаляются из следующего выпуска SharePoint. Рекомендуется не создавать новые веб-приложения, а перенести существующие приложения на другую платформу, например Microsoft Power Apps.
Откройте веб-приложение в Access.
Выберите Главная > Дополнительно > Запрос.
В диалоговом окне Добавление таблицы на вкладке Таблицы, Запросы или Таблицы и запросы дважды щелкните каждый источник данных, который хотите использовать, или выберите их и нажмите кнопку Добавить. По завершении нажмите кнопку Закрыть.
Перетащите поля из источника в верхней области окна бланка запроса вниз в строку Поле таблицы конструктора (в нижней части окна конструктора).
Добавьте для полей необходимые условия.
Щелкните вкладку запроса правой кнопкой мыши, выберите команду Сохранить и присвойте запросу имя.
Чтобы увидеть результаты запроса, щелкните правой кнопкой мыши вкладку запроса и выберите пункт Режим таблицы.
Чтобы сделать результаты запроса доступными в браузере, нужно добавить представление запроса на экране выбора таблиц. Чтобы добавить новое представление в заголовок на экране выбора таблиц, выполните указанные ниже действия.
Щелкните заголовок таблицы в области выбора таблиц слева и нажмите кнопку Добавить представление (знак «плюс»).
В диалоговом окне Добавление нового представления введите имя представления в поле имя представления , выберите тип представленияи укажите имя запроса в поле Источник записей .
Совет: Если в запросе было использовано несколько таблиц, можно добавить представление для любых из них или для всех.
Выберите Главная > Запустить приложение чтобы открыть новое представление в браузере.
Если запрос поддерживает возможность обновления, щелкните имя таблицы, а затем — имя представления, чтобы добавить, изменить или удалить данные в нем.