что такое запросы в access

Что такое запросы в access

Запросы в Access

Запросы в Access являются основным инструментом выборки, обновления и обработки данных в таблицах базы данных. Access в соответствии с концепцией реляционных баз данных для выполнения запросов использует язык структурированных запросов SQL (Structured Query Language). С помощью инструкций языка SQL реализуется любой запрос в Access.

Основным видом запроса является запрос на выборку. Результатом выполнения этого запроса является новая таблица, которая существует до закрытия запроса. Записи формируются путем объединения записей таблиц, на которых построен запрос. Способ объединения записей таблиц указывается при определении их связи в схеме данных или при создании запроса. Условия отбора, сформулированные в запросе, позволяют фильтровать записи, составляющие результат объединения таблиц.

В Access может быть создано несколько видов запроса:

Запросы в Access в режиме конструктора содержат схему данных, отображающую используемые таблицы, и бланк запроса, в котором конструируется структура таблицы запроса и условия выборки записей (рис. 4.1).

что такое запросы в access. Смотреть фото что такое запросы в access. Смотреть картинку что такое запросы в access. Картинка про что такое запросы в access. Фото что такое запросы в access

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

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

Источник

6. Запросы MS Access

6.1. Что такое запросы

Все запросы делятся на запросы-выборки и запросы-действия.

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

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

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

Фактически, запрос в MS Access является инструкцией на языке SQL (Structured Query Language), который является на сегодняшний день основным средством составления запросов в наиболее распространенных реляционных СУБД. Посредством механизма SQL становится возможным как обращаться к содержимому баз MS Access из других приложений (в том числе и приложений от других производителей), так и получать данные для MS Access из внешних приложений, поддерживающих SQL.

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

6.2. Краткие сведения об SQL

Небольшой набор команд SQL и определенный синтаксис составления выражений позволяет совершать сколь угодно сложные операции. Самой распространенной из них является выборка связанных данных из одной или нескольких таблиц при помощи оператора SELECT, однако в случае необходимости SQL может вносить информацию, корректировать хранящиеся записи и создавать новые объекты базы данных. SQL применяется не только в MS Access, но и во всех современных СУБД.

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

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

В языке запросов, реализованном в Microsoft Access, поддерживаются четыре дополнительных расширения: TRANSFORM (позволяет строить перекрестные запросы), IN (создание связи с удаленной базой данных), DISTINCTROW (определение запроса-объединения с потенциальной возможностью объединения данных), WITH OWNER-ACCESS OPTION (позволяет создавать специализированные запросы, которые может выполнять пользователь, не имеющий права доступа к таблицам, которыми оперирует данный запрос). В качестве функции могут быть использованы итоговые функции SQL, например такие, как AVG, COUNT, MAX, MIN, STDEV, STDEVP, SUM, VAR или VARP. Кроме того, в качестве функции могут применяться встроенные функции MS Access и встроенного языка VBA.

6.3. Создание запросов

Для того чтобы создать запрос-выборку, нужно перейти на вкладку «Запросы» в окне базы данных и нажать кнопку «Создать», в результате откроется диалоговое окно, представленное на рисунке 6.3.1.

что такое запросы в access. Смотреть фото что такое запросы в access. Смотреть картинку что такое запросы в access. Картинка про что такое запросы в access. Фото что такое запросы в access

При создании запроса с помощью Конструктора разработчику необходимо выбрать таблицы или запросы, содержащие нужные данные и заполнить бланк запроса. Бланк запроса расположен в нижней части окна конструктора и содержит описание запроса в табличной форме (см. рисунок 6.3.2). Этот вариант следует выбирать для создания запроса «с нуля» в режиме конструктора.

что такое запросы в access. Смотреть фото что такое запросы в access. Смотреть картинку что такое запросы в access. Картинка про что такое запросы в access. Фото что такое запросы в access

Каждая колонка в бланке запроса соответствует одному полю. Строки «Поле» и «Имя таблицы» содержат списки, которые позволяют определить нужное поле. Таблица бланка запросов расширяется вправо автоматически при добавлении в запрос новых полей. Контекстное меню, связанное с бланком запроса, позволяет скрывать или, наоборот, показывает строки «Имя таблицы» и «Групповая операция». Под «Групповой операцией» понимается обработка и обобщение значений данного поля при помощи определенной функции (Например функция «Count» позволяет подсчитать число записей).

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

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

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

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

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

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

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

6.4. Условия отбора записей

Условия отбора записей могут задаваться для одного или нескольких полей в строке «Условие отбора»бланка запроса (см. рисунок 6.3.2). Условием отбора является выражение, которое состоит из операторов сравнения и операндов, используемых для сравнения. В качестве операндов выражения могут использоваться: литералы и константы.

Литералом называют значение в явном представлении, например, число, строковое значение или дату. Примерами значений в явном представлении могут служить «Москва», 100 и #1-янв-94#. Даты необходимо заключать в символы (#), а строковые значения в прямые кавычки («).

Константа представляет не изменяющееся значение. True, False, Истина, Ложь и Null являются примерами констант, автоматически определяемых в MS Access. Допускается также использование подстановочных знаков, представленных в следующей таблице.

Пример

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

*ко* ищет «кот», «котелок» и «кофе», *ка ищет «кнопка», «папка» и «практика»Соответствует любому количеству символов и может быть использован в любом месте текстовой строки?п?ник находит «подлинник», «помощник» и «противник»Соответствует любому одиночному символу#5#2 находит 502, 572, 592Соответствует любой одиночной цифре[]л[аи]па находит «лапа» и «липа», но не «лупа»Соответствует любому одному символу из заключенных в квадратные скобки!л[!аи]па находит «лупа», но не «лапа» и не «липа»Соответствует любому одному символу, кроме заключенных в скобки—б[а-в]д находит «бад», «ббд» и «бвд»Соответствует любому символу из диапазона символов. Необходимо указывать этот диапазон по возрастанию (например от А до Я, но не от Я до А)

Оператор BETWEEN. AND определяет принадлежность значения выражения указанному диапазону

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

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

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

Оператор NOT требует невыполнения того выражения, перед которым он стоит.

Примеры определения диапазонов значений с помощью операторов представлены в следующей таблице

Пример выражения

Описание

>234Числа, превышающие 234Between #02.02.93# And #01.12.93##01.12.93# Даты в диапазоне от 2-фев-93 до 1-дек-93=»Иванов»Все фамилии, начиная с фамилии «Иванов» и до конца алфавита

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

функция Sum возвращает сумму набора значений поля; функция Avg вычисляет арифметическое среднее набора чисел, содержащихся в указанном поле запроса; функция Count вычисляет количество записей, возвращаемых запросом.

6.5. Запросы-действия

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

Запрос на добавление— добавляет группу записей из одной или нескольких таблиц в одну или несколько других.

При работе с запросом в режиме конструктора можно преобразовать существующий запрос к одному из этих четырех типов. Для это следует выбрать тип запроса из меню » Запрос» (см. Рисунок 6.5.1).

что такое запросы в access. Смотреть фото что такое запросы в access. Смотреть картинку что такое запросы в access. Картинка про что такое запросы в access. Фото что такое запросы в access

При преобразовании запроса к другому типу состав строк бланка запросов соответствующим образом меняется. В двух типах запросов «Создание таблицы» и «Добавление» MS Access выводит диалоговое окно для получения дополнительной информации перед переходом в режим конструктора.

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

6.6. Запросы SQL

Запрос управление создает или вносит изменения в объекты базы данных, такие как таблицы Microsoft Access или Microsoft SQL Server.

Источник

Знакомство с запросами

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

быстрый поиск определенных данных путем фильтрации с применением определенных критериев (условий);

вычисление или сведение данных;

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

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

Запросы как средство поиска данных и работы с ними

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

Основные типы запросов

Получение данных из таблицы и выполнение вычислений.

Запрос на изменение

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

Создание запроса на выборку

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

Просмотр данных из выбранных полей

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

Откройте базу данных и на вкладке Создание нажмите кнопку Конструктор запросов.

На вкладке «Таблицы» дважды щелкните таблицу «Товары».

Допустим, в таблице «Товары» содержатся поля «Наименование товара» и «Цена по прейскуранту». Дважды щелкните элементы Наименование товара и Цена по прейскуранту, чтобы добавить эти поля в бланк запроса.

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

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

Например, если у вас есть база данных для магазина, который продает продукты питания, и вы хотите просмотреть заказы клиентов, которые живут в конкретном городе. Скажем, данные о заказах и сведения о клиентах хранятся в двух таблицах с именами «Клиенты» и «Заказы» соответственно. Если каждая таблица имеет поле «ИД клиента», которое является основой отношение «один-ко-многим» между двумя таблицами. Вы можете создать запрос, возвращающий заказы для клиентов в конкретном городе, например в Лас-Вегасе, используя следующую процедуру:

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

На вкладке «Таблицы» дважды щелкните «Клиенты» и «Заказы».

Обратите внимание на линию (называемую соединением), которая соединяет поле «Код» в таблице «Заказчики» с полем «Код заказчика» в таблице «Заказы». Эта линия отображает связь между двумя таблицами.

В таблице «Клиенты» дважды щелкните элементы Организация и Город, чтобы добавить эти поля в бланк запроса.

В бланке запроса в столбце Город снимите флажок в строке Показать.

В строке Условие отбора столбца Город введите Тюмень.

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

В таблице «Заказы» дважды щелкните элементы Код заказа и Дата размещения, чтобы добавить эти поля в два следующих столбца в бланке запроса.

На вкладке Конструктор в группе Результаты нажмите кнопку Выполнить. Происходит выполнение запроса и отображается список заказов клиентов из Тюмени.

Нажмите клавиши CTRL+S, чтобы сохранить запрос.

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

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

Примечание: Запрос с параметрами невозможно создать в веб-приложении Access.

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

В области навигации щелкните правой кнопкой мыши запрос Заказы по городу (созданный в предыдущем разделе) и выберите в контекстном меню пункт Конструктор.

В бланке запроса в строке Условие отбора столбца «Город» удалите слово Тюмень и введите [Для какого города?].

Строка [Для какого города?] является предложением ввести параметр. Квадратные скобки показывают, что при выполнении запроса должно появиться предложение ввести данные, а текст (в данном случае Для какого города?) представляет собой вопрос, отображаемый в предложении.

Установите флажок в строке Показать столбца «Город», чтобы в результатах запроса отображался город.

На вкладке Конструктор в группе Результаты нажмите кнопку Выполнить. Запрос предложит ввести значение в строке «Город».

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

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

На вкладке Главная в группе Представления нажмите кнопку Представление и выберите пункт Конструктор.

В бланке запроса в строке Условие отбора столбца Город введите Like [Для какого города?]&»*».

В этом предложении ввести параметр ключевое слово Like, амперсанд ( &) и звездочка ( *), заключенная в кавычки, позволяют ввести сочетание знаков, включая подстановочные знаки, для получения разных результатов. Например, если пользователь вводит *, запрос возвращает все города; если пользователь вводит М, запрос возвращает все города, начинающиеся на букву «М»; если пользователь вводит *с*, запрос возвращает все города, в названиях которых имеется буква «с».

На вкладке Конструктор в группе Результаты нажмите кнопку Выполнить, в строке приглашения запроса введите Создать и нажмите клавишу ВВОД.

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

Указание типов данных для параметра

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

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

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

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

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

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

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

Создание итогового запроса

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

Примечание: В веб-приложении Access агрегатные функции использовать нельзя.

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

На вкладке Главная нажмите кнопку Режим и выберите Конструктор.

Запрос «Промежуточные суммы для товаров» будет открыт в конструкторе.

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

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

Примечание: Несмотря на схожие названия, строка Итоги в бланке и строка Итог в таблице — не одно и то же.

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

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

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

Во втором столбце бланка в строке Итог выберите в раскрывающемся списке вариант Sum.

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

Нажмите клавиши CTRL+S, чтобы сохранить запрос. Оставьте запрос открытым.

Выполнение расчетов на основе данных

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

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

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

На вкладке «Таблицы» дважды щелкните «Сведения о заказе».

В таблице «Сведения о заказе» дважды щелкните Код товара, чтобы добавить это поле в первый столбец бланка запроса.

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

В диалоговом окне Область ввода введите или вставьте следующее выражение: Промежуточный итог: ([Количество]*[Цена за единицу])-([Количество]*[Цена за единицу]*[Скидка])

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

Нажмите клавиши CTRL+S, чтобы сохранить запрос, и назовите его Промежуточные суммы для товаров.

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

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

Запустите ранее созданный запрос «Итоги по продуктам» и оставьте результаты открытыми в Режим таблицы.

На вкладке «Главная» нажмите кнопку «Итоги». В нижней части таблицы появится новая строка со словом «Итог» в первом столбце.

Щелкните ячейку в последней строке с именем Итог.

Щелкните стрелку, чтобы просмотреть доступные агрегатные функции. Поскольку столбец содержит текстовые данные, существует только два варианта: «Нет» и «Количество».

Выберите Количество. Содержимое ячейки изменится с Итог на число значений в столбце.

Щелкните соседнюю ячейку (второй столбец). Обратите внимание на стрелку, которая появилась в ячейке.

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

Оставьте запрос открытым в режиме таблицы.

Создание перекрестного запроса

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

Примечание: Перекрестный запрос не может отображаться в веб-приложении Access.

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

На вкладке Главная в группе Представления нажмите кнопку Представление и выберите пункт Конструктор.

В группе «Настройка запроса» нажмите кнопку «Добавить таблицы» (или «Добавить таблицу в Access 2013 «).

Дважды щелкните «Заказы»и нажмите кнопку «Закрыть».

На вкладке Конструктор в группе Тип запроса щелкните элемент Перекрестная таблица. В бланке строка Показать скрыта, а отображается строка Перекрестная таблица.

В диалоговом окне Область ввода введите или вставьте следующее выражение: Месяц: «Месяц» & DatePart(«м», [Дата заказа])

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

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

Нажмите клавиши CTRL+S, чтобы сохранить запрос.

Дополнительные сведения о перекрестных запросах см. в документе «Упростите чтение сводных данных с помощью перекрестного запроса».

Создание запроса на создание таблицы

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

Примечание: Запрос на таблицу не доступен в веб-приложениях Access.

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

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

Откройте базу данных из предыдущего примера.

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

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

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

Дважды щелкните «Сведения о заказе» и «Заказы».

В таблице Заказы дважды щелкните поля Код заказчика и Город получателя, чтобы добавить их в бланк.

В таблице Сведения о заказе дважды щелкните элементы Код заказа, Код товара, Количество, Цена за единицу и Скидка, чтобы добавить эти поля в бланк.

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

На вкладке Конструктор в группе Результаты нажмите кнопку Выполнить.

Нажмите клавиши CTRL+S, чтобы сохранить запрос.

В поле Имя запроса введите Запрос по заказам в Ростове и нажмите кнопку ОК.

На вкладке Главная в группе Представления нажмите кнопку Представление и выберите пункт Конструктор.

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

В диалоговом окне Создание таблицы в поле Имя таблицы введите Заказы в Ростове и нажмите кнопку ОК.

На вкладке Конструктор в группе Результаты нажмите кнопку Выполнить.

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

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

Дополнительные сведения об использовании запросов на создание таблиц см. в теме «Создание запроса на создание таблицы».

Создание запроса на добавление

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

Примечание: Запрос на приложение не доступен в веб-приложениях Access.

Предположим, вы создали таблицу для совместной работы с партнером из Ростова, но вспомнили, что этот партнер работает также с клиентами из Казани. Необходимо добавить в эту таблицу строки с данными по Казани. Используя следующую процедуру, можно добавить эти данные в таблицу «Заказы в Ростове».

Откройте запрос «Запрос по заказам в Чикаго», созданный ранее в конструкторе.

На вкладке Конструктор в группе Тип запроса выберите команду Добавить. Откроется диалоговое окно Добавление.

В диалоговом окне Добавление щелкните стрелку в поле Имя таблицы и выберите Заказы в Ростове в раскрывающемся списке, а затем нажмите кнопку ОК.

В бланке в строке Условие отбора столбца «Город получателя» удалите значение ‘Ростов’ и введите ‘Казань’.

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

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

На вкладке Конструктор в группе Результаты нажмите кнопку Выполнить.

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

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

Создание запроса на обновление

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

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

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

Откройте таблицу «Заказы в Ростове» в конструкторе.

В строке «Код товара» измените тип данных Числовой на Текстовый.

Сохраните и закройте таблицу «Заказы в Ростове».

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

Дважды щелкните «Заказы в Чикаго» и «Товары».

На вкладке Конструктор в группе Тип запроса нажмите кнопку Обновить.

В бланке больше не будут отображаться строки Сортировка и Показать и появится строка Обновление.

В таблице Заказы в Ростове дважды щелкните элемент Код товара, чтобы добавить это поле в бланк.

В бланке в строке Обновление столбца Код товара введите или вставьте следующую строку: [Товары].[Наименование]

Совет: Запрос на обновление можно использовать для удаления значений полей; для этого используется пустая строка ( «») или значение NULL в строке Обновление.

В строке Условие отбора введите или вставьте следующую строку: [Код продукта] Like ([Товары].[Код])

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

На вкладке Конструктор выберите Режим > Режим таблицы. Запрос возвращает список кодов товаров, которые будут обновлены.

На вкладке Конструктор нажмите кнопку Выполнить.

При открытии таблицы «Заказы в Ростове» можно будет увидеть, что числовые значения в поле «Код товара» заменены наименованиями из таблицы «Товары».

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

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

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

Примечание: Запрос на удаление не доступен в веб-приложениях Access.

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

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

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

Дважды щелкните «Заказы в Чикаго».

На вкладке Конструктор в группе Тип запроса нажмите кнопку Удаление. В бланке больше не будут отображаться строки Сортировка и Показать и появится строка Удалить.

В бланке в строке Условие отбора в столбце «Код заказа» введите Is Null.

На вкладке Конструктор в группе Результаты нажмите кнопку Выполнить.

Дополнительные сведения об удалении запросов см. в теме «Создание и выполнение запроса на удаление».

Источник

Добавить комментарий

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