При использовании конструктора запроса access в нижней части окна бланка запроса отображаются

Обновлено: 28.04.2024

Обработка данных, хранящихся в БД, выполняется, в основном, через запросы. Запрос – это требование на получение определенной информации из таблиц БД. С помощью запросов можно просматривать, анализировать и изменять данные, выполнять расчеты и обобщать информацию. Они используются также в качестве источника записей при создании форм и отчетов.

В отличие от фильтров, запросы позволяют отбирать отдельные поля записей из одной или нескольких таблиц, объединяя данные, хранящиеся в разных таблицах. Запрос можно сохранять в виде объекта БД. Для того чтобы создать или выполнить запрос, нет необходимости открывать таблицы БД.

В Microsoft Access можно создавать различные типы запросов: запросы на выборку, запросы с параметрами, перекрестные запросы, запросы на изменение (запросы на создание таблицы, удаление, обновление, добавление записей), запросы SQL (запросы на объединение, запросы к серверу, управляющие запросы, подчиненные запросы).

Наиболее часто используемым запросом является запрос на выборку. После выполнения запроса на выборку Access создает новый набор записей, содержащий отобранные данные. Такой набор физически не существует в БД, но работать с ним можно как с обычной таблицей.

Запросы можно строить с помощью Мастера запросов или самостоятельно в режиме Конструктора.

Для создания запроса на выборку без использования Мастера надо в окне БД выбрать объект Запросы, нажать кнопку Создать и в диалоговом окне Новый запрос выбрать команду Конструктор. В открывшемся окне Конструктора запросов можно создавать запрос на выборку из одной или нескольких связанных таблиц. В качестве источника данных для запроса можно использовать не только таблицу, но и другой ранее составленный запрос.

Окно Конструктора разделено на две части. В верхней части находятся списки полей таблиц или запросов, на основе которых создается новый запрос. В нижней части располагается бланк запроса, в котором формируется запрос по типу QBE. Каждый столбец бланка соответствует одному полю, используемому в запросе. В первой строке бланка определяются имена полей, которые должны присутствовать в наборе отобранных записей или используются для задания условий отбора. В других строках бланка задаются имена таблиц, порядок сортировки отобранных записей, флажки для вывода полей запроса на экран и условия отбора записей. Поля, для которых снят флажок, будут отсутствовать в отобранном наборе записей. Такие поля (обычно это ключевые поля) по разным причинам часто приходится включать в бланк запроса, но нет необходимости выводить их на экран.


При создании нового запроса в окне Конструктора раскрывается диалоговое окно Добавление таблицы с вкладками, позволяющими выбрать объекты, содержащие требуемые данные. Для добавления в запрос каждого из объектов нужно выделить его имя и нажать кнопку Добавить. После появления всех необходимых объектов в верхней части окна Конструктора окно Добавление таблицы нужно закрыть. При необходимости это окно вновь можно вызвать, щелкнув правой кнопкой мыши в верхней части окна и выбрав из контекстного меню команду Добавить таблицу.

Если запрос строится на нескольких таблицах или запросах, то они должны быть связаны. Если таблицы не связаны, то Access рассматривает каждую таблицу как независимый объект и позволяет составлять любую возможную комбинацию из полей в окне Конструктора.

Поля добавляются в бланк запроса перетаскиванием их мышью из списка полей или двойным щелчком мыши. Затем определяются условия отбора, порядок сортировки, создаются вычисляемые поля, устанавливаются необходимые флажки. Созданный запрос необходимо сохранить, определив его имя. Результат выполнения запроса можно просмотреть в режиме Таблицы.

При определении условия отбора необходимо использовать те значения поля, которые хранятся в таблице, но не подстановочные значения. Пусть, например, необходимо отобрать записи о покупках, сделанных клиентом РГРТУ, и в качестве источника данных используется таблица ПОКУПКИ. Тогда в условии отбора для поля КодКлиента необходимо указать код РГРТА, т. е. цифру 4. Если этот же запрос создать на двух таблицах - ПОКУПКИ и КЛИЕНТЫ, то в качестве условия отбора для поля ИмяКлиента надо ввести слово РГРТУ. В том случае, когда условие отбора содержит значки подстановки ? или *, условие (даже число) надо заключать в апострофы.

В запрос можно добавлять вычисляемые поля, содержимое которых является результатом арифметических операций над определенными полями таблиц. Для создания вычисляемого поля надо в свободном столбце бланка запроса в строке Поле ввести имена полей, являющихся операндами, и указать оператор. Здесь же нужно задать имя вычисляемого поля. Например, можно составить запрос, формирующий список покупателей, названий купленных ими книг, количество купленных экземпляров каждой из книг, цену книги и стоимость каждой покупки. В бланке такого запроса надо указать поля КодКлиента (таблица ПОКУПКИ), КодКниги (таблица ПОКУПКИ), Количество (таблица ПОКУПКИ), ЦенаПокупки (таблица КНИГИ) и вычисляемое поле

Выражение для вычисляемого поля удобнее вводить в Область ввода. Для ее вызова надо после щелчка в свободной ячейке нажать Shift+F2.

Если в бланк этого запроса добавить поле КодПокупки, установить для него порядок сортировки По возрастанию и снять флажок вывода на экран, то отобранные записи будут выводиться в том же порядке, что и в таблице ПОКУПКИ.

В запросе можно предусмотреть подсчет итоговых значений, например, подсчитать общее количество всех книг, купленных каждым из клиентов, и итоговую стоимость всех сделанных им покупок. Такой запрос называется Итоговым запросом. Для составления такого запроса надо нажать кнопку Групповые операциив режиме Конструктора запроса. В бланке запроса появится новая строка Групповая операция, а в каждом поле - установка Группировка.

В поле, для которого установлена опция Группировка, записи с одинаковыми значениями объединятся в группы. При выполнении запроса каждое из значений будет присутствовать на экране единожды, т.е. набор отобранных записей будет содержать по одной строке для каждого уникальногозначения такого поля. В пределах каждой группы над содержимым других полей можно выполнять определенные расчеты с помощью функций. Для этого надо в соответствующих полях заменить установку Группировка на конкретную итоговую функцию, которую можно выбрать в раскрывающемся списке.

Существует девять функций для выполнения групповых операций. В их числе:

Sum - возвращает сумму всех значений данного поля в каждой группе;

Avg – возвращает среднее арифметическое значений полей в группе;

Min, Max – возвращает наименьшее или наибольшее значение в каждой группе,

Count - возвращает число записей в группе, для которых значения данного поля отличны от Null.

Групповые операции можно выполнять и над вычисляемыми полями.

Так, например, для подведения итогов по объемам покупок, сделанных каждым из клиентов, можно составить итоговый запрос на таблицах ПОКУПКИ и КНИГИ В качестве источника данных для итогового запроса можно использовать также рассмотренный выше запрос с вычисляемым полем. В бланк итогового запроса надо включить поля КодКлиента, Количество из таблицы ПОКУПКИ и создать вычисляемое поле Сумма так, как это описано выше. Для первого из полей надо оставить установку Группировка, а для двух других полей эту установку следует заменить итоговой функцией Sum. В результате выполнения запроса сформируется список, содержащий по одной записи для каждого клиента с итоговыми значениями – общим количеством купленных этим клиентом книг и общей стоимостью всех сделанных им покупок.

Полям записей запроса можно задать свойства, отличные от свойств полей таблиц. Например, можно определить новые значения свойства Подпись, определяющие имена столбцов выводимой на экран таблицы. Для этого нужно щелкнуть правой кнопкой мыши в любой ячейке соответствующего столбца и из контекстного меню вызвать окно Свойства поля. Для вызова этого окна можно воспользоваться также кнопкой Свойства на панели инструментов или командой меню Вид/ Свойства.

В рассмотренных выше запросах условия отбора вводились непосредственно в бланк запроса. Однако удобнее было бы иметь возможность изменять в запросе условия отбора, вводя конкретные значения для поиска перед выполнением запроса. Эту задачу можно решить, создав запрос с параметром.

Чтобы создать запрос с параметром, надо в бланке запроса в строку Условия отбора вместо конкретного значения ввести приглашение пользователю определить условия отбора. Строка приглашения должна быть заключена в квадратные скобки. Текст, заключенный в квадратные скобки, Access рассматривает как имя параметра. Перед выполнением запроса выводится диалоговое окно с фразой-приглашением и полем для определения конкретного значения параметра. Вводить значение параметра надо в том виде, в котором это значение хранится в таблице БД. Нельзя вводить подстановочные значения.

В запросе можно задать несколько параметров; при этом имя каждого из них должно быть уникальным и информативным. При выполнении запроса значения параметров вводятся поочередно. Используя имена параметров, связанные операторами отношения и логическими операторами, можно определить сложное условие отбора. В этом случае условие отбора рассматривается как выражение, операндами которого являются имена параметров.

Для параметров запроса можно указать тип данных для проверки введенного значения и предотвращения ошибок ввода. По умолчанию Access назначает параметрам запроса текстовый тип данных. Изменить тип данных параметра можно, выбрав команду Запрос/ Параметры и определив нужный тип данных в открывшемся окне Параметры запроса.

В Microsoft Access можно создавать так называемые перекрестныезапросы. В перекрестном запросе отображаются результаты статистических расчетов (суммы, количество записей, средние значения), выполненных по данным из одного поля таблицы. Эти результаты группируются по двум наборам данных, один из которых расположен в левом столбце таблицы, а второй - в верхней строке. Результат выполнения такого запроса напоминает электронную таблицу.

Можно, например, создать перекрестный запрос, показывающий, сколько книг по каждому из разделов куплено каждым клиентом, а также общее количество книг, приобретенных каждым клиентом. В итоговой таблице, сформированной

в ответ на запрос, имена клиентов будут располагаться слева сверху вниз (по строкам), а названия разделов - вверху слева направо (по столбцам). Кроме того, в таблице появится столбец, содержащий суммарное количество покупок для каждого клиента. Для создания такого запроса придется объединить данные из нескольких таблиц, поэтому вначале придется создать запрос, объединяющий данные, а потом создать перекрестный запрос, основанный на объединяющем запросе. Объединяющий запрос должен сформировать таблицу с полями КодКлиента (таблица ПОКУПКИ), Раздел (таблица РАЗДЕЛЫ), Количество (таблица ПОКУПКИ).

Перекрестный запрос проще всего создать при помощи Мастера запросов. Для вызова Мастера надо в окне БД для объекта Запросы нажать кнопку Создать и выбрать из списка строку Перекрестный запрос. На первом шаге работы Мастера надо установить флажок Запросы и выбрать имя объединяющего запроса. На следующих шагах следует выбрать в качестве заголовков строк поле КодКлиента, для заголовков столбцов поле Разделы, в списке функций для поля Количество выбрать Сумма и определить имя запроса. Готовый запрос можно просмотреть в режиме таблицы.

Решение: связи между таблицами базы данных Access могут создаваться в 3-х видах: «Один к одному», «Один ко многим» и «Многие ко многим». Наиболее часто используется связь «Один ко многим» с использованием общего поля, причем в одной из таблиц оно обязательно должно быть ключевым. То есть на стороне «Один» должно выступать ключевое поле, содержащее уникальные, неповторяющиеся значения, а значения на стороне «Многие» могут повторяться.

Правильный ответ: 2, 4, 5.

Литература: Симонович С.В. Информатика. Базовый курс: Учебник для вузов. - 3-е изд. Стандарт третьего поколения. - СПб.: Питер, 2011. - 640с.: ил. – стр. 368.

наглядное представление связей между таблицами базы данных Access демонстрирует …

1) таблица подстановок

3) список внешних ключей

4) составная форма

Решение: наглядное представление связей между таблицами базы данных Access демонстрирует «Схема данных».

Правильный ответ: 2.

Литература: Симонович С.В. Информатика. Базовый курс: Учебник для вузов. - 3-е изд. Стандарт третьего поколения. - СПб.: Питер, 2011. - 640с.: ил. – стр. 375.

в базах данных Access Для получения таблицы из совокупности связанных таблиц путем выбора полей, удостоверяющих заданным условиям, используются …

Решение: в базах данных Access для получения таблицы из совокупности связанных таблиц путем выбора полей, удостоверяющих заданным условиям, используются запросы.

Правильный ответ: 4.

Литература: Симонович С.В. Информатика. Базовый курс: Учебник для вузов. - 3-е изд. Стандарт третьего поколения. - СПб.: Питер, 2011. - 640с.: ил. – стр. 375.

объект «запрос» базы данных Access может включать …

1) только одну таблицу

2) не более двух таблиц

3) несколько таблиц

4) таблицы и другие запросы

Решение: объект «Запрос» базы данных Access может включать несколько таблиц.

Правильный ответ: 3.

Литература: Симонович С.В. Информатика. Базовый курс: Учебник для вузов. - 3-е изд. Стандарт третьего поколения. - СПб.: Питер, 2011. - 640с.: ил. – стр. 375.

при использовании конструктора запросов Access окно бланка запроса показывает структуру подключенных к запросу таблиц …

1) в верхней части окна

4) в нижней части окна

Решение: при использовании конструктора запросов Access окно бланка запроса показывает структуру подключенных к запросу таблиц в верхней части.

Правильный ответ: 1.

Литература: Симонович С.В. Информатика. Базовый курс: Учебник для вузов. - 3-е изд. Стандарт третьего поколения. - СПб.: Питер, 2011. - 640с.: ил. – стр. 376.

при использовании конструктора запросов Access в нижней части окна бланка запроса отображаются …

1) структура таблиц, участвующих в запросе

2) наименование файлов базы данных

4) имена полей таблиц, участвующих в запросе и способы работы с данными в каждом поле

Решение: при использовании конструктора запросов Access в нижней части окна бланка запроса отображаются имена полей таблиц, участвующих в запросе и способы работы с данными в каждом поле.

Правильный ответ: 4.

Литература: Симонович С.В. Информатика. Базовый курс: Учебник для вузов. - 3-е изд. Стандарт третьего поколения. - СПб.: Питер, 2011. - 640с.: ил. – стр. 376.

при использовании конструктора запросов Access в окне бланка запроса настройка сортировки данных производится …

1) в верхней части окна

4) в нижней части окна

Решение: при использовании конструктора запросов Access в окне бланка запроса настройка сортировки данных производится в нижней части окна.

Правильный ответ: 4.

Литература: Симонович С.В. Информатика. Базовый курс: Учебник для вузов. - 3-е изд. Стандарт третьего поколения. - СПб.: Питер, 2011. - 640с.: ил. – стр. 376.

запуск запроса Access выполняется …

1) автоматически при открытии любой таблицы

2) двойным щелчком левой клавиши мыши на имени запроса в окне навигации

3) при открытии файла базы данных

4) при сохранении файла базы данных

Решение: запуск запроса Access выполняется двойным щелчком левой клавиши мыши на имени запроса в окне навигации.

Правильный ответ: 2.

Литература: Симонович С.В. Информатика. Базовый курс: Учебник для вузов. - 3-е изд. Стандарт третьего поколения. - СПб.: Питер, 2011. - 640с.: ил. – стр. 376.

при запуске запроса Access происходит …

1) появление окна результирующей таблицы

2) изменение данных в формах

3) изменение данных в таблицах

4) сохранение файла базы данных

Решение: при запуске запроса Access происходит появление окна результирующей таблицы.

Правильный ответ: 1.

Литература: Симонович С.В. Информатика. Базовый курс: Учебник для вузов. - 3-е изд. Стандарт третьего поколения. - СПб.: Питер, 2011. - 640с.: ил. – стр. 375.

в базе данных Access запрос на выборку выполняет …

1) выбор данных из полей таблиц по условию отбора

2) вычисления по заданному полю

3) автоматическое заполнение требуемых полей таблицы

4) создание результирующей таблицы на основе обработки данных нескольких таблиц

Решение: в базе данных Access запрос на выборку выполняет выбор данных из полей таблиц по условию отбора.

Правильный ответ: 1.

Литература: Симонович С.В. Информатика. Базовый курс: Учебник для вузов. - 3-е изд. Стандарт третьего поколения. - СПб.: Питер, 2011. - 640с.: ил. – стр. 375.

в базе данных Access запрос с параметром служит для …

1) выполнения вычислений по заданному полю

2) ввода параметра отбора пользователем при запуске запроса

3) автоматического заполнения требуемых полей таблицы

4) выполнения команд SQL

Решение: в базе данных Access запрос с параметром служит для ввода параметра отбора пользователем при запуске запроса.

Правильный ответ: 2.

Литература: Симонович С.В. Информатика. Базовый курс: Учебник для вузов. - 3-е изд. Стандарт третьего поколения. - СПб.: Питер, 2011. - 640с.: ил. – стр. 378.

в базе данных Access перекрестный запрос применяется для …

1) выполнения вычислений по заданному полю

2) создания результирующей таблицы на основе обработки данных нескольких таблиц

3) автоматического заполнения требуемых полей таблицы

4) ввода параметра отбора пользователем при запуске запроса

Решение: в базе данных Access перекрестный запрос применяется для создания результирующей таблицы на основе обработки данных нескольких таблиц.

Правильный ответ: 2.

Литература: Симонович С.В. Информатика. Базовый курс: Учебник для вузов. - 3-е изд. Стандарт третьего поколения. - СПб.: Питер, 2011. - 640с.: ил. – стр. 378.

Для просмотра, изменения и анализа данных используются запросы. Запросы также можно использовать в качестве источников записей для форм, отчетов и страниц доступа к данным. В общем случае запрос - это вопрос о данных. В Microsoft Access есть несколько типов запросов (на выборку, запрос с параметрами, перекрестные запросы, запрос на изменение таблицы, запросы SQL).

Создание простого запроса с помощью Мастера запросов

Наиболее просто создается запрос при помощи Мастера запросов. Чтобы создать простой запрос с помощью Мастера запросов, необходимо:

1 В окне базы данных на панели объектов выбрать ярлык Запросы (Queries).

2 В списке запросов дважды щелкнуть левой кнопкой мыши на ярлыке Создание запроса с помощью мастера (Create query by using wizard) или нажать на кнопку Создать (New) в окне базы данных и в появившемся диалоговом окне Новый запрос (New Query) выбрать Простой запрос (Simple Query Wizard) и нажать на кнопку ОК (рис. 4.1).

3 В появившемся окне Создание простых запросов (Simple Query Wizard) (рис. 4.2) в поле со списком Таблицы и запросы (Tables/Queries) выбрать таблицу или запрос, которые будут служить источником данных для создаваемого запроса.

4 С помощью стрелок вправо и влево переместить из списка Доступные поля (Available Fields) в список Выбранные поля (Selected Fields) те поля, которые необходимы в конструируемом запросе. При этом порядок полей в запросе будет соответствовать порядку полей в списке Выбранные поля (Selected Fields). Если нужно включить в запрос все поля, можно воспользоваться кнопкой с двумя стрелками вправо.

5 Нажать кнопку Далее (Next).

6 Следующее диалоговое окно будет последним. В нем нужно ввести имя создаваемого запроса (рис. 4.3) в поле Задайте имя запроса (What title do you want to your query?) и выбрать дальнейшие действия: Открыть запрос для просмотра данных (Open the query to view information) или Изменить макет запроса (Modify the query design).

7 При необходимости можно установить флажок Вывести справку по работе с запросом? (Display Help on working with the query) для вывода справочной информации по работе с запросами.

8 Нажать на кнопку Готово (Finish).

Создание и изменение запроса с помощью Конструктора запросов

Для изменения уже существующих запросов и для создания новых запросов используется Конструктор запросов. Для того чтобы открыть запрос в режиме Конструктора, выделите в списке один из существующих запросов, например только что созданный запрос "Сотрудники Запрос", и нажмите кнопку Конструктор (Design) на панели инструментов окна База данных (Database).

Появляется окно Конструктора запросов (рис. 4.5). В верхней части окна отображается таблица (или несколько таблиц, если запрос многотабличный) в том виде, в каком таблицы отображаются в окне Схема данных (Relationship). Таблицы — источники данных для запроса, мы будем называть базовыми таблицами запроса. В нижней части окна находится бланк запроса — таблица, ячейки которой используются для определения запроса. В бланке отображаются все столбцы, включенные в результирующее множество запроса.

Для того чтобы просматривать полностью бланк запроса и все исходные таблицы, используют линейки прокрутки.

В области панелей инструментов Access отображается панель инструментов Конструктор запросов (Queries Design). Эта панель представлена на рис. 4.6, а в табл. 4.1 приведено описание кнопок этой панели инструментов и соответствующие им команды меню.

После добавления всех необходимых таблиц нажать кнопку Закрыть (Close) в окне Добавление таблицы (Show Table). Все выбранные таблицы оказываются помещенными на верхней панели окна Конструктора запросов. Если таблицы связаны между собой, т. е. связи присутствуют явно на схеме данных, то эти связи также отображаются (рис. 4.8). Если связи на схеме данных не установлены, то Конструктор запросов автоматически устанавливает связи между таблицами, если они содержат поля, которые имеют одинаковые имена и согласованные типы

Затем нужно указать, какие поля из базовых таблиц будут отображаться в запросе. Включать в запрос можно поля из любой таблицы. Способов включения полей в запрос существует несколько:

Выделите нужное поле в таблице-источнике (можно выделить несколько полей, пользуясь клавишами и ). Если требуется включить в запрос все поля базовой таблицы, выделите поле, обозначенное звездочкой (*). Дважды щелкните левой кнопкой мыши на выделенном поле. При этом в бланке запроса появится столбец, соответствующий выбранному полю. Затем аналогично добавьте другие поля. Столбцы в бланке запроса при этом заполняются слева направо.

Можно подвести указатель мыши к выделенному полю (одному из выделенных полей), нажать на левую кнопку мыши и перетащить поле (поля) в нужное место бланка запроса (указатель мыши при этом должен принять вид трех прямоугольников). Последний способ позволяет помещать поля в любое место бланка запроса.

И наконец, вместо перетаскивания полей в бланк запроса из таблицы можно просто использовать раскрывающийся список полей в строке Поле (Field) бланка запроса

Если вам нужно выбрать определенные данные из одного или нескольких источников, можно воспользоваться запросом на выборку. Запрос на выборку позволяет получить только необходимые сведения, а также помогает объединять информацию из нескольких источников. В качестве источников данных для запросов на выборку можно использовать таблицы и другие такие же запросы. В этом разделе вкратце рассматриваются запросы на выборку и предлагаются пошаговые инструкции по их созданию с помощью Мастера запросов либо в Конструктор.

Если вы хотите узнать больше о принципах работы запросов на примере базы данных Northwind, ознакомьтесь со статьей Общие сведения о запросах.

В этой статье

Общие сведения

Когда возникает потребность в каких-то данных, редко бывает необходимо все содержимое одной таблицы. Например, если вам нужна информация из таблицы контактов, как правило, речь идет о конкретной записи или только о номере телефона. Иногда бывает необходимо объединить данные сразу из нескольких таблиц, например совместить информацию о клиентах со сведениями о заказчиках. Для выбора необходимых данных используются запросы на выборку.

Запрос на выборки — это объект базы данных, в который в Режим таблицы. Запрос не хранит данные, а отображает данные, хранимые в таблицах. Запрос может показывать данные из одной или нескольких таблиц, из других запросов или из их сочетания.

Преимущества запросов

Запрос позволяет выполнять перечисленные ниже задачи.

Просматривать значения только из полей, которые вас интересуют. При открытии таблицы отображаются все поля. Вы можете сохранить запрос, который выдает лишь некоторые из них.

Примечание: Запрос только возвращает данные, но не сохраняет их. При сохранении запроса вы не сохраняете копию соответствующих данных.

Объединять данные из нескольких источников. В таблице обычно можно увидеть только те сведения, которые в ней хранятся. Запрос позволяет выбрать поля из разных источников и указать, как именно нужно объединить информацию.

Использовать выражения в качестве полей. Например, в роли поля может выступить функция, возвращающая дату, а с помощью функции форматирования можно управлять форматом значений из полей в результатах запроса.

Просматривать записи, которые отвечают указанным вами условиям. При открытии таблицы отображаются все записи. Вы можете сохранить запрос, который выдает лишь некоторые из них.

Основные этапы создания запроса на выборку

Вы можете создать запрос на выборку с помощью мастера или конструктора запросов. Некоторые элементы недоступны в мастере, однако их можно добавить позже из конструктора. Хотя это разные способы, основные этапы аналогичны.

Выберите таблицы или запросы, которые хотите использовать в качестве источников данных.

Укажите поля из источников данных, которые хотите включить в результаты.

Также можно задать условия, которые ограничивают набор возвращаемых запросов записей.

Создав запрос на выборку, запустите его, чтобы посмотреть результаты. Чтобы выполнить запрос на выборку, откройте его в режиме таблицы. Сохранив запрос, вы сможете использовать его позже (например, в качестве источника данных для формы, отчета или другого запроса).

Создание запроса на выборку с помощью мастера запросов

Мастер позволяет автоматически создать запрос на выборку. При использовании мастера вы не полностью контролируете все детали процесса, однако таким способом запрос обычно создается быстрее. Кроме того, мастер иногда обнаруживает в запросе простые ошибки и предлагает выбрать другое действие.

Подготовка

Если вы используете поля из источников данных, которые не связаны между собой, мастер запросов предлагает создать между ними отношения. Он откроет окно отношений, однако если вы внесете какие-то изменения, то вам потребуется перезапустить мастер. Таким образом, перед запуском мастера имеет смысл сразу создать все отношения, которые потребуются вашему запросу.

Дополнительную информацию о создании отношений между таблицами можно найти в статье Руководство по связям между таблицами.

Использование мастера запросов

На вкладке Создание в группе Запросы нажмите кнопку Мастер запросов.

В диалоговом окне Новый запрос выберите пункт Простой запрос и нажмите кнопку ОК.

Теперь добавьте поля. Вы можете добавить до 255 полей из 32 таблиц или запросов.

Для каждого поля выполните два указанных ниже действия.

В разделе Таблицы и запросы щелкните таблицу или запрос, содержащие поле.

В разделе Доступные поля дважды щелкните поле, чтобы добавить его в список Выбранные поля. Если вы хотите добавить в запрос все поля, нажмите кнопку с двумя стрелками вправо (>>).

Добавив в запрос все необходимые поля, нажмите кнопку Далее.

Если вы не добавили ни одного числового поля (поля, содержащего числовые данные), перейдите к действию 9. При добавлении числового поля вам потребуется выбрать, что именно вернет запрос: подробности или итоговые данные.

Выполните одно из указанных ниже действий.

Если вы хотите просмотреть отдельные записи, выберите пункт подробный и нажмите кнопку Далее. Перейдите к действию 9.

Если вам нужны итоговые числовые данные, например средние значения, выберите пункт итоговый и нажмите кнопку Итоги.

В диалоговом окне Итоги укажите необходимые поля и типы итоговых данных. В списке будут доступны только числовые поля.

Для каждого числового поля выберите одну из перечисленных ниже функций.

Sum — запрос вернет сумму всех значений, указанных в поле.

Avg — запрос вернет среднее значение поля.

Min — запрос вернет минимальное значение, указанное в поле.

Max — запрос вернет максимальное значение, указанное в поле.

Если вы хотите, чтобы в результатах запроса отобразилось число записей в источнике данных, установите соответствующий флажок Подсчет числа записей в (название источника данных).

Нажмите ОК, чтобы закрыть диалоговое окно Итоги.

Если вы не добавили в запрос ни одного поля даты и времени, перейдите к действию 9. Если вы добавили в запрос поля даты и времени, мастер запросов предложит вам выбрать способ группировки значений даты. Предположим, вы добавили в запрос числовое поле ("Цена") и поле даты и времени ("Время_транзакции"), а затем в диалоговом окне Итоги указали, что хотите отобразить среднее значение по числовому полю "Цена". Поскольку вы добавили поле даты и времени, вы можете подсчитать итоговые величины для каждого уникального значения даты и времени, например для каждого месяца, квартала или года.

Выберите период, который хотите использовать для группировки значений даты и времени, а затем нажмите кнопку Далее.

Примечание: В режиме конструктора для группировки значений по периодам можно использовать выражения, однако в мастере доступны только указанные здесь варианты.

На последней странице мастера задайте название запроса, укажите, хотите ли вы открыть или изменить его, и нажмите кнопку Готово.

Если вы решили открыть запрос, он отобразит выбранные данные в режиме таблицы. Если вы решили изменить запрос, он откроется в режиме конструктора.

Создание запроса в режиме конструктора

В режиме конструктора можно вручную создать запрос на выборку. В этом режиме вы полнее контролируете процесс создания запроса, однако здесь легче допустить ошибку и необходимо больше времени, чем в мастере.

Создание запроса

Действие 1. Добавьте источники данных

При использовании конструктора для добавления источников данных их источники и поля добавляются в отдельных шагах. Однако вы всегда можете добавить дополнительные источники позже.

На вкладке Создание в группе Другое нажмите кнопку Конструктор запросов.

Дважды щелкните каждый источник данных, который вы хотите использовать, или выберите каждый из них, а затем нажмите кнопку "Добавить".

Автоматическое соединение

Если между добавляемыми источниками данных уже заданы отношения, они автоматически добавляются в запрос в качестве соединений. Соединения определяют, как именно следует объединять данные из связанных источников. Access также автоматически создает соединение между двумя таблицами, если они содержат поля с совместимыми типами данных и одно из них — первичный ключ.

Вы можете настроить соединения, добавленные приложением Access. Access выбирает тип создаваемого соединения на основе отношения, которое ему соответствует. Если Access создает соединение, но для него не определено отношение, Access добавляет внутреннее соединение.

Если приложение Access при добавлении источников данных автоматически создало соединения правильных типов, вы можете перейти к действию 3 (добавление выводимых полей).

Повторное использование одного источника данных

В некоторых случаях необходимо соединить две копии одной и той же таблицы или запроса, называемые запросом самосоединение, которые объединяют записи из одной таблицы при совпадении значений в соединитьые поля. Например, допустим, что у вас есть таблица "Сотрудники", в которой в поле "ОтчетЫВ" для записи каждого сотрудника вместо имени отображается его имя руководителя. Вместо этого вы можете самостоятельно отобразить имя руководителя в записях каждого сотрудника.

При добавлении источника данных во второй раз Access присвоит имени второго экземпляра окончание "_1". Например, при повторном добавлении таблицы "Сотрудники" ее второй экземпляр будет называться "Сотрудники_1".

Действие 2. Соедините связанные источники данных

Если у источников данных, которые вы добавляете в запрос, уже есть связи, Access автоматически создает внутреннее присоединение для каждой связи. Если целостность данных, access также отображает "1" над линией связи, чтобы показать, какая таблица находится на стороне "один" отношение "один-ко-многим", и символ бесконечности(∞),чтобы показать, какая таблица находится на стороне "многие".

Если вы добавили в запрос другие запросы и не создали между ними отношения, Access не создает автоматических соединений ни между ними, ни между запросами и таблицами, которые не связаны между собой. Если Access не создает соединения при добавлении источников данных, как правило, их следует создать вручную. Источники данных, которые не соединены с другими источниками, могут привести к проблемам в результатах запроса.

Кроме того, можно сменить тип соединения с внутреннего на внешнее соединение, чтобы запрос включал больше записей.

Добавление соединения

Чтобы создать соединение, перетащите поле из одного источника данных в соответствующее поле в другом источнике.

Access добавит линию между двумя полями, чтобы показать, что они соединены.

Изменение соединения

Дважды щелкните соединение, которое требуется изменить.

Откроется диалоговое окно Параметры соединения.

Ознакомьтесь с тремя вариантами в диалоговом окне Параметры соединения.

Выберите нужный вариант и нажмите кнопку ОК.

После создания соединений можно добавить выводимые поля: они будут содержать данные, которые должны отображаться в результатах.

Действие 3. Добавьте выводимые поля

Вы можете легко добавить поле из любого источника данных, добавленного в действии 1.

Для этого перетащите поле из источника в верхней области окна конструктора запросов вниз в строку Поле бланка запроса (в нижней части окна конструктора).

При добавлении поля таким образом Access автоматически заполняет строку Таблица в таблице конструктора в соответствии с источником данных поля.

Совет: Чтобы быстро добавить все поля в строку "Поле" бланка запроса, дважды щелкните имя таблицы или запроса в верхней области, чтобы выделить все поля в нем, а затем перетащите их все сразу вниз на бланк.

Использование выражения в качестве выводимого поля

Вы можете использовать выражение в качестве выводимого поля для вычислений или создания результатов запроса с помощью функции. В выражениях могут использоваться данные из любых источников запроса, а также функции, например Format или InStr, константы и арифметические операторы.

В пустом столбце таблицы запроса щелкните строку Поле правой кнопкой мыши и выберите в контекстном меню пункт Масштаб.

В поле Масштаб введите или вставьте необходимое выражение. Перед выражением введите имя, которое хотите использовать для результата выражения, а после него — двоеточие. Например, чтобы обозначить результат выражения как "Последнее обновление", введите перед ним фразу Последнее обновление:.

Примечание: С помощью выражений можно выполнять самые разные задачи. Их подробное рассмотрение выходит за рамки этой статьи. Дополнительные сведения о создании выражений см. в статье Создание выражений.

Действие 4. Укажите условия

Этот этап является необязательным.

С помощью условий можно ограничить количество записей, которые возвращает запрос, выбирая только те из них, значения полей в которых отвечают заданным критериям.

Определение условий для выводимого поля

В таблице конструктора запросов в строке Условие отбора поля, значения в котором вы хотите отфильтровать, введите выражение, которому должны удовлетворять значения в поле для включения в результат. Например, чтобы включить в запрос только записи, в которых в поле "Город" указано "Рязань", введите Рязань в строке Условие отбора под этим полем.

Различные примеры выражений условий для запросов можно найти в статье Примеры условий запроса.

Укажите альтернативные условия в строке или под строкой Условие отбора.

Когда указаны альтернативные условия, запись включается в результаты запроса, если значение соответствующего поля удовлетворяет любому из указанных условий.

Условия для нескольких полей

Условия можно задать для нескольких полей. В этом случае для включения записи в результаты должны выполняться все условия в соответствующей строке Условия отбора либо Или.

Настройка условий на основе поля, которое не включается в вывод

Вы можете добавить в запрос поле, но не включать его значения в выводимые результаты. Это позволяет использовать содержимое поля для ограничения результатов, но при этом не отображать его.

Добавьте поле в таблицу запроса.

Снимите для него флажок в строке Показывать.

Задайте условия, как для выводимого поля.

Действие 5. Рассчитайте итоговые значения

Этот этап является необязательным.

Вы также можете вычислить итоговые значения для числовых данных. Например, может потребоваться узнать среднюю цену или общий объем продаж.

Для расчета итоговых значений в запросе используется строка Итого. По умолчанию строка Итого не отображается в режиме конструктора.

Когда запрос открыт в конструкторе, на вкладке "Конструктор" в группе "Показать или скрыть" нажмите кнопку Итоги.

Access отобразит строку Итого на бланке запроса.

Для каждого необходимого поля в строке Итого выберите нужную функцию. Набор доступных функций зависит от типа данных в поле.

Дополнительные сведения о функциях строки "Итого" в запросах см. в статье Суммирование или подсчет значений в таблице с помощью строки "Итого".

Действие 6. Просмотрите результаты

Чтобы увидеть результаты запроса, на вкладке "Конструктор" нажмите кнопку Выполнить. Access отобразит результаты запроса в режиме таблицы.

Чтобы вернуться в режим конструктора и внести в запрос изменения, щелкните Главная > Вид > Конструктор.

Настраивайте поля, выражения или условия и повторно выполняйте запрос, пока он не будет возвращать нужные данные.

Примечание: Мы стараемся как можно оперативнее обеспечивать вас актуальными справочными материалами на вашем языке. Эта страница переведена автоматически, поэтому ее текст может содержать неточности и грамматические ошибки. Для нас важно, чтобы эта статья была вам полезна. Просим вас уделить пару секунд и сообщить, помогла ли она вам, с помощью кнопок внизу страницы. Для удобства также приводим ссылку на оригинал (на английском языке).

Примечание: Этот раздел относится только в проектам Microsoft Access (AFP-файлам).

Конструктор запросов состоит из трех областей: область схемы, область сетки и область SQL.

Три области конструктора запросов

В области схемы отображаются таблиц, представлений и функций в строке, которые запрашиваются данные. Каждый прямоугольник представляет таблицу, представление или функцию в строку и отображаются доступные столбцы данных, а также значки показывающие, как использовать каждого столбца в запросе. Соединения обозначены линии между прямоугольники.

Область сетки содержит электронных сетки, в котором можно задать параметры, например столбцы данных для отображения, выбираемые строки, способ группировки строк и т. д.

В области SQL отображаются инструкции SQL для запроса. Можно редактировать инструкции SQL, созданные с помощью конструктора запросов или вы можете ввести инструкцию SQL. Особенно полезна для ввода инструкции SQL, которые не может быть создан с использованием области схемы и сетки, например запросы на объединение.

Можно создать запрос, работая в любой из панелей: вы можете указать столбец, который требуется отобразить, выбрав в области диаграммы, введите его в области сетки или сделать его в инструкцию SQL в области SQL. Области схемы, сетки и SQL синхронизируются — при внесении изменений в одной области других областях автоматически изменены.

Область схемы

Общие сведения об области схемы

Область схемы представляет в графическом виде таблиц, представлений, пользовательские функции или подзапросы в запросе. Он также показывает все связи соединения между ними.

В области диаграммы вы можете:

Добавление или удаление таблиц, представлений, пользовательские функции и подзапросы и укажите столбцов данных для вывода.

Укажите столбцы для сортировки в запросе.

Укажите, что вы хотите группировка строк в результирующем наборе.

Создание или изменение связей между таблицами, представления, пользовательские функции или подзапросов.

При внесении изменений в области диаграммы, чтобы отразить изменения обновляются область сетки и SQL. Например при выборе столбца для вывода в таблице, представлении, определяемая пользователем функция или окна подзапроса в область схемы конструктор запросов добавит столбец данных в область сетки и в инструкцию SQL в области SQL.

Область схемы значки, флажки и символы

Каждой таблицы, представления, пользовательские функции или подчиненного запроса в виде область схемы в отдельном окне. Значок в строке заголовка каждого прямоугольника указывает, какой тип объекта представляет прямоугольник, как показано в таблице ниже.

Тип объекта

Подчиненный запрос (в FROM предложение)

Каждый прямоугольник отображаются столбцы данных для таблицы, представления или пользовательскую функцию. Установите флажки и символы отображаются рядом с именами столбцов, чтобы указать, как столбцы используются в запросе. Всплывающие подсказки показывают сведения, например тип данных и размер столбца.

В следующей таблице перечислены флажки и символы, используемые в прямоугольник для каждой таблицы, представлении или пользовательскую функцию.

Флажок или символ

Указывает, отображается в результатах запроса (запрос на выборку) или используется в запрос на обновление, добавление, создание таблицы или добавление значений столбца данных. Выберите столбец, чтобы добавить его в результатах. Если установлен флажок (Все столбцы), все столбцы данных отображаются в результатах.

Значок, используемый с флажком, изменяется в зависимости от типа запроса вы создаете. При создании запроса на удаление, не удается выбрать отдельных столбцов.

Указывает, что столбец данных используется для упорядочения результатов запроса (является частью предложение ORDER BY). Значок отображается как A Z Если порядок сортировки по возрастанию или я — А если сортировка по убыванию.

Указывает, что столбец данных используется для создания сгруппированного результирующего набора (является частью предложение GROUP BY) в итоговый запрос.

Указывает, что столбец данных включен в условие поиска для запроса (входит в предложение WHERE или предложение HAVING).

Указывает, что содержимое столбца данных суммируется для вывода (включается в функции SUM, AVG или другую статистическую функцию).

Примечание: Конструктор запросов не будут отображаться столбцы данных для таблицы, представления или пользовательские функции, если у вас недостаточно прав или если драйвер базы данных не может возвращать сведения о ней. В таких случаях в конструкторе запросов отображается только строка заголовка для таблицы, представления или пользовательскую функцию.

Объединенные таблицы в области схемы

Если запрос включает объединение, появится линия связи между столбцами данных для объединения. Если соединяемые столбцы данных не отображаются (для примере, таблицу, представление, определяемая пользователем функция или подзапроса окно свернуто или объединение включает выражение), конструктор запросов помещает линию объединения в строке заголовка прямоугольник, представляющий в таблице представление, определяемая пользователем функция или подчиненный запрос. Конструктор запросов отображает одну линию объединения для каждого условия соединения.

Форма значка в центре линии объединения показывает, как соединены таблиц или табличных объектов. Если в предложении объединения используется не знак равенства (=), оператор отображается на значке линии объединения. В следующей таблице перечислены значки, которые могут отображаться в строке соединения.

Значок строки соединения

Внутреннее соединение (созданное с помощью знак равенства).

Внутреннее соединение с учетом оператора «больше». (Оператор, отображаемый на значке линии объединения отражает оператор, используемый для объединения).

Внешнее соединение, в котором все строки из таблицы, представленные в левой части экрана, даже если они не имеют соответствий в связанной таблице.

Внешнее соединение, в котором все строки из таблицы на правой стороне, даже если они не имеют соответствий в связанной таблице.

Полное внешнее соединение, в какой все строки из обеих таблиц, даже если они не имеют соответствий в связанной таблице, представлении, определяемая пользователем функция или подзапроса.

Значки на концах линии соединения указывают тип соединения. В следующей таблице перечислены типы соединений и значки, которые могут отображаться на концах линии объединения.

Значок на концах линии объединения

Присоединиться к одному

Присоединение к один ко многим

Конструктор запросов не удается определить тип объединения.

Область сетки

Общие сведения об области сетки

Область сетки позволяет указать параметры запроса, например столбцы данных для отображения, как упорядочить результаты и выбираемых столбцов —, введя нужные значения в электронных сетку. В области сетки можно указать:

Отображаемые столбцы и псевдонимы имен столбцов.

Таблица, к которой принадлежит столбец.

Выражения для вычисляемых столбцов.

Порядок сортировки для запроса.

Критерии группирования, включая агрегатные функции для сводных отчетов.

Новые значения для запросов на обновление или добавление значений.

Имена столбцов в запросах на добавление.

Изменения, внесенные в области сетки, автоматически отражаются в области схемы и области SQL. Точно так же область сетки автоматически обновляется с учетом изменений, внесенных в других областях.

О столбцах область сетки

В области сетки строк отобразить столбцы данных, используемые в запросе; столбцы в области сетки отображают параметры запроса.

Определенные сведения, которые отображаются в области сетки зависит от типа запроса, который вы создаете. При создании запроса на выборку в области сетки содержит разных столбцов, чем при создании запроса на обновление.

В следующей таблице перечислены столбцы сетки, которые могут отображаться в области сетки.

Тип запроса

Отображает имя столбца данных для запроса или выражение для вычисляемого столбца. Этот столбец заблокирован, чтобы он всегда является видимой при прокрутке по горизонтали.

Выберите, добавление, обновление, создание таблицы

Задает другое имя столбца или имя, которое можно использовать для вычисляемого столбца.

Выберите, добавление, обновление, создание таблицы

Имя таблицы, представления, пользовательские функции или подчиненного запроса для соответствующего столбца данных. Этот столбец остается пустым для вычисляемых столбцов.

Выходные данные

Выберите, добавление, создание таблицы

Указывает, отображается ли столбец данных в результатах запроса.

Примечание: Если позволяет базы данных, можно использовать для поиска или сортировки предложений столбца данных без отображения в результирующем наборе.

Тип сортировки

Указывает, что соответствующий столбец данных используется для сортировки результатов запроса и ли сортировка по возрастанию или по убыванию.

Порядок сортировки

Определяет приоритет сортировки для столбцов данных, используемых для сортировки результатов. При изменении порядка сортировки для столбца данных порядок сортировки для всех столбцов обновляется соответствующим образом.

Группировать по

Выберите, добавление, создание таблицы

Указывает, что соответствующий столбец данных используется для создания статистического запроса. Этот столбец появляется только в том случае, если вы выбрали Group By из меню " Сервис " или добавили предложение GROUP BY в области SQL.

По умолчанию этот столбец имеет значение Group By и столбец станет частью предложение GROUP BY.

Переход к ячейке в этом столбце и выберите статистическую функцию, чтобы применить соответствующий столбец данных, по умолчанию результирующее выражение добавляется как столбец выходных данных для результирующего набора.

Определяет условия поиска (фильтр) для соответствующего столбца данных. Введите оператор (по умолчанию — «=») и введите значение для поиска. Текстовые значения следует заключайте в одиночные кавычки.

Если соответствующего столбца данных является частью предложение GROUP BY, введенное выражение используется для предложение HAVING.

При вводе значения для более одной ячейки в столбце сетки условий условия поиска автоматически связываются с логического оператора AND.

Указывает дополнительное условие поиска для столбца данных, связанные с предыдущими условиями логическое или. Вы можете добавить дополнительные столбцы сетки или. , нажатие клавиши TAB в крайний правый столбец или. .

Определяет имя конечного столбца данных для соответствующего столбца данных. При создании запроса на добавление конструктор запросов пытается сопоставить исходный столбец соответствующие целевом столбце данных. Если в конструкторе запросов не удается установить соответствие, необходимо указать имя столбца.

Новое значение

Обновление, добавление значений

Задает значение, чтобы поместить в соответствующий столбец. Введите литерал или выражение.

В области SQL

Обзор области SQL

В области SQL отображает инструкцию SQL для текущего запроса. При создании запроса в области SQL автоматически обновляет и изменяет формат для удобства чтения.

В области SQL можно:

Создание новых запросов путем ввода инструкций SQL.

Измените инструкцию SQL, созданные с помощью конструктора запросов на основе параметров, внесенные в областях схемы и сетки.

Введите операторы, которые выполняются преимуществами определенных функций Microsoft SQL Server.

Инструкции в области SQL

Можно изменить существующий запрос непосредственно в области SQL. При переходе в другую область конструктор запросов автоматически форматирует инструкцию и затем изменяет области схемы и сетки для соответствия этой инструкции.

Примечание: Можно ввести подсказки оптимизатора инструкции SQL, но конструктор запросов может их переформатировать.

Вернитесь в области SQL и изменение инструкции.

Чтобы отменить внесенные изменения и вернуться к последней версии инструкции SQL.

Если вернуться в области SQL и продолжить редактирование инструкцию, конструктор запросов затемнение областей, чтобы показать, что они больше не отражают содержимое области SQL.

В области SQL можно также использовать для ввода инструкции SQL, которые не могут быть представлены графически в конструктор запросов. В таких случаях в конструкторе запросов отображаются так же, как это происходит, когда обнаруживает ошибку — это затемнение областях схемы и сетки, чтобы указать, что они не представляют текущую инструкцию. Можно продолжить изменение инструкции и выполнить ее, как любую другую инструкцию SQL.

Примечание: Если ввести инструкцию SQL, а затем внесите дальнейшие изменения в запрос, изменив областях схемы и сетки, конструктор запросов перестраивает и заново отображает инструкцию SQL. В некоторых случаях это действие результаты в инструкции SQL, которая состоит из одного введенной (хотя она может давать те же результаты) по-разному. Это различие вероятнее особенно при работе с условия поиска, включающих несколько предложений, связанных с и и или.

Читайте также: